DialogBoxIndirectParamW

メモリ内のダイアログボックステンプレートからモーダルダイアログボックスを作成する。(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
URLhttps://github.com/inovia/IronHSP
備考Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_user32_gen2.hs