CDialog クラス
画面のダイアログ ボックスを表示するために使用される基本クラスです。
class CDialog : public CWnd
メンバー
パブリック コンストラクター
名前 |
説明 |
---|---|
CDialog オブジェクトを構築します。 |
パブリック メソッド
名前 |
説明 |
---|---|
CDialog オブジェクトを初期化します。モードレス ダイアログ ボックスを作成し、CDialog のオブジェクトにアタッチします。 |
|
メモリ (がベース)、リソースのダイアログ ボックス テンプレートからモードレス ダイアログ ボックスを作成します。 |
|
されたときにモーダル ダイアログ ボックスを呼び出し、を返します。 |
|
モーダル ダイアログ ボックスを閉じます。 |
|
ダイアログ ボックスの既定のプッシュ ボタン コントロールの ID を取得します。 |
|
ダイアログ ボックスの指定したダイアログ ボックスのコントロールにフォーカスを移動します。 |
|
メモリ (がベース)、リソースのダイアログ ボックス テンプレートからモーダル ダイアログ ボックスを作成します。パラメーターは関数 DoModal が呼び出されるまで格納されます。 |
|
四角形のダイアログ ボックス単位を単位を除外するに変換します。 |
|
ダイアログ ボックスの次のダイアログ ボックスのコントロールにフォーカスを移動します。 |
|
ダイアログ ボックスの初期化処理を拡張するためにオーバーライドします。 |
|
ダイアログ ボックス コントロールにテキストを描画するときに使用するのフォントを指定するためにオーバーライドします。 |
|
ダイアログ ボックスの前のダイアログ ボックスのコントロールにフォーカスを移動します。 |
|
指定したプッシュ ボタンにダイアログ ボックスの既定のプッシュ ボタン コントロールを変更します。 |
|
ダイアログ ボックスの状況依存のヘルプの ID を設定します。 |
プロテクト メソッド
名前 |
説明 |
---|---|
[キャンセル]ボタンまたは Esc キー操作のためにオーバーライドします。既定値は DoModal のダイアログ ボックスを IDCANCELを閉じます。 |
|
モーダル ダイアログ ボックスの[OK]ボタンのアクションを実行します。既定値は DoModal のダイアログ ボックスを IDOKを閉じます。 |
解説
ダイアログ ボックスは、2 種類です: モーダルおよびモードレス。モーダル ダイアログ ボックスは、ユーザーによってアプリケーションが進む前に閉じる必要があります。モードレス ダイアログ ボックスは、ユーザーがダイアログ ボックスを表示し、ダイアログ ボックスをキャンセルしたりせずに、別のタスクに戻ることができます。
CDialog のオブジェクトはダイアログ テンプレートと CDialog派生クラスの組み合わせです。ダイアログ テンプレート リソースを作成し、に格納するためにダイアログ エディターを使用すると CDialogから派生したクラスを作成するには、クラス追加ウィザードを使用します。
ダイアログ ボックスは、他のウィンドウ、Windows からのメッセージを受信します。ダイアログ ボックスで、ダイアログ ボックスのコントロールからの通知メッセージをユーザーが、ダイアログ ボックスにやり取りするのか、後処理する場合に特に必要があります。選択するには、メッセージを処理したく、実際のクラスには、適切なメッセージ マップのエントリとメッセージ ハンドラー メンバー関数を追加するプロパティ ウィンドウを使用します。だけハンドラー メンバー関数のアプリケーション固有のコードを記述する必要があります。
必要に応じて、メッセージ マップのエントリを常に記述して、メンバーは、手動で機能します。
ただし、すべて単純なダイアログ ボックスで、ユーザーがダイアログ ボックスのコントロールに入力されたストアのデータまたはユーザーのデータを表示するダイアログは、派生クラスにメンバー変数を追加します。メンバー変数を作成し、コントロールに関連付けるために追加の変数のウィザードを使用できます。同時に、各変数の値変数の型と許容範囲を選択します。コード ウィザードは、ダイアログの派生クラスにメンバー変数を追加します。
マップ データが自動的にメンバー変数とダイアログ ボックスのコントロール間でのデータの交換を処理するために生成されます。データ マップは適切な値を設定してダイアログ ボックスのコントロールを初期化し、データを取得し、データを検証する関数を提供します。
モーダル ダイアログ ボックスを作成するには、スタックのオブジェクトをダイアログ、派生クラスのコンストラクターを使用して構築し、次にダイアログのウィンドウとコントロールを作成するに DoModal を呼び出します。モードレス ダイアログを作成する場合は、ダイアログ クラス コンストラクターの [作成] を呼び出します。
また Windows SDKに説明されているように DLGTEMPLATE のデータ構造を使用してメモリ テンプレートを作成できます。CDialog のオブジェクトを構築すると、モードレス ダイアログ ボックス、または呼び出し InitModalIndirect と DoModal をモーダル ダイアログ ボックスを作成するために作成されるように CreateIndirect を呼び出します。
交換と検証のデータ マップで、新しいダイアログ クラスに追加 CWnd::DoDataExchange のオーバーライドで記述されます。交換と検証機能の詳細については DoDataExchange のメンバーが CWnd で関数"を参照してください。
プログラマの場合、フレームワークは両方 CWnd::UpdateDataの呼び出しによって DoDataExchange を間接的に呼び出します。
フレームワークは、モーダル ダイアログ ボックスを閉じるにユーザーが[OK]をクリックすると UpdateData を呼び出します。(データは[キャンセル]ボタンがクリックされた場合は取得されません)。OnInitDialog の既定の実装は、コントロールの初期値を設定するに UpdateData を呼び出します。通常、さらにコントロールを初期化するに OnInitDialog をオーバーライドします。OnInitDialog は、すべてのダイアログ コントロールが作成された後、ダイアログ ボックスが表示される直前に呼び出されます。
モーダルまたはモードレス ダイアログ ボックスの実行中に CWnd::UpdateData をいつでも呼び出すことができます。
ダイアログ ボックスを手動で作成する場合には、必要なメンバー変数を独自派生ダイアログ ボックス クラスに追加して、これらの値を設定または取得するためにメンバー関数を追加します。
モーダル ダイアログ ボックスは、ユーザーが[OK]または[キャンセル]ボタンを押すか、コードで EndDialog のメンバー関数を呼び出すときに自動的に閉じます。
モードレス ダイアログ ボックスを実装すると、OnCancel のメンバー関数を常にオーバーライドし、その中の DestroyWindow を呼び出します。ダイアログ ボックスを表示するが、を呼び出して、オブジェクトを破棄せず EndDialogをため、基本クラス CDialog::OnCancelを呼び出さないでください。モードレス ダイアログ ボックスは、通常 newに割り当てられるため、thisを削除するには、モードレス ダイアログ ボックスの PostNcDestroy をオーバーライドする必要があります。モーダル ダイアログ ボックスは、普通、フレームで構築され、PostNcDestroy のクリーンアップは必要ではありません。
CDialogの詳細については、" "を参照してください:
サポート技術情報の文書 Q262954: " HOWTO: スクロール バーを持つ Resizeable のダイアログ ボックスを作成します。
継承階層
CDialog
必要条件
ヘッダー: afxwin.h