CDialog::InitModalIndirect
更新 : 2007 年 11 月
メモリ上に作成したダイアログ ボックス テンプレートを使ってモーダル ダイアログ ボックスを初期化します。
BOOL InitModalIndirect(
LPCDLGTEMPLATE lpDialogTemplate,
CWnd* pParentWnd = NULL,
void* lpDialogInit = NULL
);
BOOL InitModalIndirect(
HGLOBAL hDialogTemplate,
CWnd* pParentWnd = NULL
);
パラメータ
lpDialogTemplate
ダイアログ ボックスを作成するためのダイアログ ボックス テンプレートを持つメモリへのポインタ。このテンプレートは DLGTEMPLATE 構造体の形式であり、コントロールの情報を保持します。詳細については、Windows SDK を参照してください。hDialogTemplate
ダイアログ ボックス テンプレートを持つグローバル メモリへのハンドル。このテンプレートは、DLGTEMPLATE 構造体の形式で、ダイアログ ボックスのコントロールについてのデータを持ちます。pParentWnd
ダイアログ オブジェクトを所有する CWnd 型の親ウィンドウまたはオーナー ウィンドウ オブジェクトへのポインタ。NULL の場合は、ダイアログ オブジェクトの親ウィンドウがアプリケーションのメイン ウィンドウになります。lpDialogInit
DLGINIT リソースへのポインタ。
戻り値
ダイアログ オブジェクトを正しく作成して、初期化した場合は 0 以外の値を返します。それ以外の場合は 0 を返します。
解説
間接的にモーダル ダイアログ ボックスを作成するには、まずグローバル メモリ ブロックを割り当て、ダイアログ ボックス テンプレートを設定します。その後、ダイアログ ボックス オブジェクトを構築するために空の CDialog コンストラクタを呼び出します。次に、メモリ上のダイアログ ボックス テンプレートへのハンドルを格納するために、InitModalIndirect を呼び出します。Windows のダイアログ ボックスは、DoModal メンバ関数が呼び出されたときに作成、表示されます。
ActiveX コントロールを持つダイアログ ボックスは、DLGINIT リソースで提供される追加情報を必要とします。詳細については、サポート技術情報の「HOWTO: Use a Dialog Template to Create a MFC Dialog with an ActiveX Control (Q231591)」を参照してください。サポート技術情報の文書は、MSDN ライブラリの Visual Studio のドキュメント、または https://support.microsoft.com で参照できます。
必要条件
ヘッダー : afxwin.h