次の方法で共有


CDialog::CDialog

更新 : 2007 年 11 月

リソース ベースのモーダル ダイアログ ボックスを構築するには、いずれかのパブリック形式のコンストラクタを呼び出します。

explicit CDialog(
   LPCTSTR lpszTemplateName,
   CWnd* pParentWnd = NULL 
);
explicit CDialog(
   UINT nIDTemplate,
      CWnd* pParentWnd = NULL 
);
CDialog( );

パラメータ

  • lpszTemplateName
    ダイアログ ボックス テンプレート リソース名を表す null で終わる文字列。

  • nIDTemplate
    ダイアログ ボックス テンプレート リソースの ID 番号。

  • pParentWnd
    ダイアログ オブジェクトを所有する CWnd 型の親ウィンドウまたはオーナー ウィンドウ オブジェクトへのポインタ。NULL の場合は、ダイアログ オブジェクトの親ウィンドウがアプリケーションのメイン ウィンドウになります。

解説

一方の形式では、ダイアログ リソースのテンプレート名を使います。もう一方のコンストラクタは、通常プリフィックスとして IDD_ を持つテンプレート ID 番号を使います (例 : IDD_DIALOG1)。

メモリ上のテンプレートからモーダル ダイアログ ボックスを構築するには、まずパラメータを持たないプロテクト メンバのコンストラクタを起動し、その後 InitModalIndirect を呼び出します。

上記のいずれかの方法でモーダル ダイアログ ボックスを構築した後は、DoModal 関数を呼び出します。

モードレス ダイアログ ボックスを構築するには、プロテクト形式の CDialog コンストラクタを使います。コンストラクタはプロテクト メンバなので、モードレス ダイアログ ボックスを実装するには、独自のダイアログ ボックス クラスを派生する必要があります。モードレス ダイアログ ボックスは、2 ステップで構築します。最初にコンストラクタを呼び出し、その後リソース ベースのダイアログ ボックスを作成する Create メンバ関数を呼び出すか、メモリ上のテンプレートからダイアログ ボックスを作成する CreateIndirect を呼び出します。

必要条件

ヘッダー : afxwin.h

参照

参照

CDialog クラス

階層図

CDialog::Create

CWnd::DestroyWindow

CDialog::InitModalIndirect

CDialog::DoModal

CreateDialog

その他の技術情報

CDialog のメンバ