メモリ内のダイアログテンプレートからモードレスダイアログを作成する。(Unicode)
CreateDialogIndirectParamW hInstance, lpTemplate, hWndParent, lpDialogFunc, dwInitParam
hInstance : [intptr] 型: HINSTANCE ダイアログテンプレートを含むモジュールへのハンドル。NULL の場合、現在の実行可能ファイルが使われる。 lpTemplate : [var] 型: LPCDLGTEMPLATE CreateDialogIndirectParam がダイアログ作成に使用するテンプレート。ダイアログテンプレートは、ダイアログを記述するヘッダと、それに続くダイアログ内の各コントロールを記述する 1 つ以上のデータブロックで構成される。テンプレートは標準形式または拡張形式を使える。 hWndParent : [intptr] 型: HWND ダイアログを所有するウィンドウへのハンドル。 lpDialogFunc : [int] 型: DLGPROC ダイアログプロシージャへのポインタ。詳細は DialogProc を参照。 dwInitParam : [intptr] 型: LPARAM WM_INITDIALOG メッセージの lParam パラメータでダイアログに渡す値。
(プラグイン / モジュール : user32.dll)
メモリ内のダイアログテンプレートからモードレスダイアログを作成する。(Unicode) [戻り値] 型: HWND 関数が成功した場合、戻り値はダイアログのウィンドウハンドル。関数が失敗した場合、戻り値は NULL。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] CreateDialogIndirectParam 関数は CreateWindowEx 関数を使ってダイアログを作成する。次に CreateDialogIndirectParam はダイアログプロシージャに WM_INITDIALOG メッセージを送信する。テンプレートが DS_SETFONT または DS_SHELLFONT スタイルを指定している場合、関数は WM_SETFONT メッセージもダイアログプロシージャに送信する。テンプレートが WS_VISIBLE スタイルを指定している場合、関数はダイアログを表示する。最後に CreateDialogIndirectParam はダイアログのウィンドウハンドルを返す。CreateDialogIndirectParam が戻った後、ShowWindow 関数を使ってダイアログを表示できる (まだ表示されていない場合)。ダイアログを破棄するには DestroyWindow 関数を使う。キーボードナビゲーションやその他のダイアログ機能をサポートするには、ダイアログのメッセージループから IsDialogMessage 関数を呼ばなければならない。標準ダイアログテンプレートでは、DLGTEMPLATE 構造体および各 DLGITEMTEMPLATE 構造体は DWORD 境界に整列される必要がある。DLGITEMTEMPLATE 構造体に続く作成データ配列も DWORD 境界に整列される必要がある。テンプレート内の他のすべての可変長配列は WORD 境界に整列される必要がある。拡張ダイアログテンプレートでは、DLGTEMPLATEEX ヘッダと各 DLGITEMTEMPLATEEX コントロール定義は DWORD 境界に整列される必要がある。DLGITEMTEMPLATEEX 構造体に続く作成データ配列があれば、それも DWORD 境界に整列される必要がある。テンプレート内の他のすべての可変長配列は WORD 境界に整列される必要がある。ダイアログテンプレート内のすべての文字列 (ダイアログやボタンのタイトルなど) は Unicode 文字列でなければならない。 > [!NOTE] > winuser.h ヘッダは CreateDialogIndirectParam をエイリアスとして定義しており、UNICODE プリプロセッサ定数の定義に基づき自動的に ANSI/Unicode 版を選択する。エンコーディング非依存のエイリアスとそうでないコードを混在させると、コンパイル時または実行時のエラーにつながる不一致が生じる可能性がある。詳細は Conventions for Function Prototypes を参照。
| プラグイン / モジュール | 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 |