DialogBoxIndirectParamA 関数 (winuser.h)
メモリ内のダイアログ ボックス テンプレートからモーダル ダイアログ ボックスを作成します。 この関数は、ダイアログ ボックスを表示する前に、WM_INITDIALOG メッセージの lParam パラメーターとして、アプリケーション定義の値をダイアログ ボックス プロシージャに渡します。 アプリケーションでは、この値を使用してダイアログ ボックス コントロールを初期化できます。
INT_PTR DialogBoxIndirectParamA(
[in, optional] HINSTANCE hInstance,
[in] LPCDLGTEMPLATEA hDialogTemplate,
[in, optional] HWND hWndParent,
[in, optional] DLGPROC lpDialogFunc,
[in] LPARAM dwInitParam
);
[in, optional] hInstance
型: HINSTANCE
ダイアログ ボックスを作成するモジュールのハンドル。
[in] hDialogTemplate
型: LPCDLGTEMPLATE
DialogBoxIndirectParam
ダイアログ ボックスの標準テンプレートでは、ヘッダーは DLGTEMPLATE 構造体の後に追加の可変長配列が続きます。 各コントロールのデータは、DLGITEMTEMPLATE 構造体の後に、追加の可変長配列で構成されます。
ダイアログ ボックスの拡張テンプレートでは、ヘッダーは DLGTEMPLATEEX 形式を使用し、コントロール定義では DLGITEMTEMPLATEEX 形式を使用します。
[in, optional] hWndParent
型: HWND
ダイアログ ボックスを所有するウィンドウへのハンドル。
[in, optional] lpDialogFunc
型: DLGPROC
ダイアログ ボックス プロシージャへのポインター。 ダイアログ ボックスプロシージャの詳細については、「DialogProcを参照してください。
[in] dwInitParam
型: LPARAM
WM_INITDIALOG メッセージの lParam パラメーターのダイアログ ボックスに渡す値。
型: INT_PTR
関数が成功した場合、戻り値は、ダイアログ ボックスの終了に使用された EndDialog 関数の呼び出しで指定された nResult パラメーターです。
hWndParent パラメーターが無効であるために関数が失敗した場合、戻り値は 0 になります。 この関数は、以前のバージョンの Windows との互換性のために、この場合は 0 を返します。 その他の理由で関数が失敗した場合、戻り値は –1 になります。 拡張エラー情報を取得するには、GetLastError
DialogBoxIndirectParam 関数は、CreateWindowEx 関数を使用してダイアログ ボックスを作成します。 DialogBoxIndirectParam
ダイアログ ボックス プロシージャが
標準ダイアログ ボックス テンプレートでは、DLGTEMPLATE 構造体と各 DLGITEMTEMPLATE 構造体は、DWORD 境界に配置する必要があります。
DLGITEMTEMPLATE 構造体の後に続く作成データ配列も、DWORD 境界に配置する必要があります。 テンプレート内の他のすべての可変長配列は、WORD 境界
拡張ダイアログ ボックス テンプレートでは、DLGTEMPLATEEX ヘッダーと、DLGITEMTEMPLATEEX コントロール定義のそれぞれ DWORD 境界に配置する必要があります。
DLGITEMTEMPLATEEX 構造体に続く作成データ配列がある場合は、DWORD 境界にも配置する必要があります。 テンプレート内の他のすべての可変長配列は、WORD 境界
ダイアログ ボックスのタイトルやボタンなど、ダイアログ ボックス テンプレート内のすべての文字列は Unicode 文字列である必要があります。
注意
winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして DialogBoxIndirectParam を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winuser.h (Windows.h を含む) |
ライブラリ | User32.lib |
DLL | User32.dll |
API セットの | ext-ms-win-ntuser-dialogbox-l1-1-0 (Windows 8 で導入) |
概念
CreateWindowEx の
DLGITEMTEMPLATE の
DLGITEMTEMPLATEEX を
DLGTEMPLATE の
DLGTEMPLATEEX の
EndDialog の
リファレンス