CreateDialogParamW

ダイアログテンプレートリソースからモードレスダイアログを作成する。(Unicode)

CreateDialogParamW hInstance, lpTemplateName, hWndParent, lpDialogFunc, dwInitParam

hInstance : [intptr] 型: HINSTANCE ダイアログテンプレートを含むモジュールへのハンドル。NULL の場合、現在の実行可能ファイルが使われる。
lpTemplateName : [wstr] 型: LPCTSTR ダイアログテンプレート。このパラメータは、ダイアログテンプレートの名前を指定する null 終端文字列へのポインタか、ダイアログテンプレートのリソース識別子を指定する整数値のいずれか。リソース識別子を指定する場合、上位ワードは 0 で下位ワードに識別子を含めなければならない。MAKEINTRESOURCE マクロを使ってこの値を作成できる。
hWndParent : [intptr] 型: HWND ダイアログを所有するウィンドウへのハンドル。
lpDialogFunc : [int] 型: DLGPROC ダイアログプロシージャへのポインタ。詳細は DialogProc を参照。
dwInitParam : [intptr] 型: LPARAM WM_INITDIALOG メッセージの lParam パラメータでダイアログプロシージャに渡される値。

(プラグイン / モジュール : user32.dll)

解説

ダイアログテンプレートリソースからモードレスダイアログを作成する。(Unicode)

[戻り値]
型: HWND 関数が成功した場合、戻り値はダイアログのウィンドウハンドル。関数が失敗した場合、戻り値は
NULL。拡張エラー情報を取得するには GetLastError を呼ぶ。

[備考]
CreateDialogParam 関数は CreateWindowEx 関数を使ってダイアログを作成する。次に
CreateDialogParam はダイアログプロシージャに WM_INITDIALOG メッセージ (テンプレートが
DS_SETFONT または DS_SHELLFONT スタイルを指定している場合は WM_SETFONT メッセージも)
を送信する。テンプレートが WS_VISIBLE スタイルを指定している場合、関数はダイアログを表示する。最後に
CreateDialogParam はダイアログのウィンドウハンドルを返す。CreateDialogParam
が戻った後、アプリケーションは ShowWindow 関数を使ってダイアログを表示する (まだ表示されていない場合)。アプリケーションは
DestroyWindow
関数を使ってダイアログを破棄する。キーボードナビゲーションやその他のダイアログ機能をサポートするには、ダイアログのメッセージループから
IsDialogMessage 関数を呼ばなければならない。
> [!NOTE] > winuser.h ヘッダは CreateDialogParam をエイリアスとして定義しており、UNICODE
プリプロセッサ定数の定義に基づき自動的に ANSI/Unicode
版を選択する。エンコーディング非依存のエイリアスとそうでないコードを混在させると、コンパイル時または実行時のエラーにつながる不一致が生じる可能性がある。詳細は
Conventions for Function Prototypes を参照。

情報

プラグイン / モジュール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