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