CDialog::InitModalIndirect
メモリ上に作成したダイアログ ボックス テンプレートを使ってモーダル ダイアログ ボックスを初期化します。
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 リソースで提供される追加情報を必要とします。 詳細については、「サポート技術情報」(knowledge Base) の記事 Q231591、「「HOWTO:ダイアログ テンプレート MFC ダイアログ ActiveX コントロールを作成するために使用します。サポート技術情報の文書は、MSDN ライブラリの Visual Studio のドキュメント、または https://support.microsoft.com で参照できます。
必要条件
**ヘッダー:**afxwin.h