メモリ内のダイアログボックステンプレートからモーダルダイアログボックスを作成する。(Unicode)
DialogBoxIndirectParamW hInstance, hDialogTemplate, hWndParent, lpDialogFunc, dwInitParam
hInstance : [intptr] 型: HINSTANCE ダイアログボックスを作成するモジュールへのハンドル。 hDialogTemplate : [var] 型: LPCDLGTEMPLATE DialogBoxIndirectParam がダイアログボックスの作成に使用するテンプレート。ダイアログボックステンプレートは、ダイアログボックスを記述するヘッダーに続いて、ダイアログボックス内の各コントロールを記述する 1 つ以上の追加データブロックで構成される。テンプレートは標準形式または拡張形式のいずれかを使用できる。 hWndParent : [intptr] 型: HWND ダイアログボックスを所有するウィンドウへのハンドル。 lpDialogFunc : [int] 型: DLGPROC ダイアログボックスプロシージャへのポインタ。詳細は DialogProc を参照。 dwInitParam : [intptr] 型: LPARAM WM_INITDIALOG メッセージの lParam パラメータでダイアログボックスに渡す値。
(プラグイン / モジュール : user32.dll)
メモリ内のダイアログボックステンプレートからモーダルダイアログボックスを作成する。(Unicode) [戻り値] 型: INT_PTR 関数が成功した場合、戻り値はダイアログボックスを終了させた EndDialog 関数の呼び出しで指定された nResult パラメータとなる。hWndParent パラメータが無効なために関数が失敗した場合、戻り値は 0 となる。その他の理由で関数が失敗した場合、戻り値は -1 となる。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] DialogBoxIndirectParam 関数は CreateWindowEx 関数を使用してダイアログボックスを作成する。その後、ダイアログボックスプロシージャに WM_INITDIALOG メッセージを送信する。テンプレートが DS_SETFONT または DS_SHELLFONT スタイルを指定している場合、関数はダイアログボックスプロシージャに WM_SETFONT メッセージも送信する。関数はダイアログボックスを表示し (テンプレートが WS_VISIBLE スタイルを指定しているかどうかに関わらず)、所有者ウィンドウを無効化し、ダイアログボックスのメッセージを取得およびディスパッチするための独自のメッセージループを開始する。ダイアログボックスプロシージャが EndDialog 関数を呼び出すと、DialogBoxIndirectParam はダイアログボックスを破棄し、メッセージループを終了し、所有者ウィンドウを (以前有効だった場合は) 有効化し、ダイアログボックスプロシージャが EndDialog を呼び出したときに指定した nResult パラメータを返す。 > [!NOTE] > winuser.h ヘッダーは DialogBoxIndirectParam を、UNICODE プリプロセッサ定数の定義に基づいて ANSI または Unicode 版を自動的に選択するエイリアスとして定義する。
| プラグイン / モジュール | user32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_user32_gen2.hs |