拡張ウィンドウスタイルを持つオーバーラップ、ポップアップ、または子ウィンドウを作成する。それ以外は CreateWindow 関数と同じ。(Unicode)
CreateWindowExW dwExStyle, lpClassName, lpWindowName, dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam
dwExStyle : [int] 型: DWORD 作成するウィンドウの拡張ウィンドウスタイル。指定可能な値は Extended Window Styles を参照。 lpClassName : [wstr] 型: LPCTSTR NULL 終端文字列、または以前に RegisterClass もしくは RegisterClassEx を呼び出して作成されたクラスアトム。アトムは lpClassName の下位ワードに配置し、上位ワードは 0 でなければならない。文字列の場合はウィンドウクラス名を指定する。クラス名はクラスを登録したモジュールがウィンドウを作成するモジュールと同一である限り、RegisterClass または RegisterClassEx で登録した任意の名前を指定できる。定義済みのシステムクラス名も指定できる。 lpWindowName : [wstr] 型: LPCTSTR ウィンドウ名。ウィンドウスタイルでタイトルバーが指定されている場合、lpWindowName が指すタイトルがタイトルバーに表示される。ボタン、チェックボックス、静的コントロールなどのコントロールを CreateWindow で作成する場合、lpWindowName でコントロールのテキストを指定する。SS_ICON スタイルの静的コントロールを作成する場合、lpWindowName でアイコン名または識別子を指定する。識別子を指定するには "#num" 構文を使う。 dwStyle : [int] 型: DWORD 作成するウィンドウのスタイル。ウィンドウスタイル値の組み合わせに加え、Remarks セクションに示されたコントロールスタイルを指定できる。 X : [int] 型: int ウィンドウの初期水平位置。オーバーラップまたはポップアップウィンドウの場合、x はウィンドウ左上隅の初期 x 座標(スクリーン座標)。子ウィンドウの場合、x は親ウィンドウクライアント領域の左上隅を基準とした左上隅の x 座標。x に CW_USEDEFAULT を指定すると、システムはウィンドウ左上隅の既定位置を選択し、y パラメータは無視される。CW_USEDEFAULT はオーバーラップウィンドウでのみ有効。ポップアップや子ウィンドウに指定すると x, y は 0 に設定される。 Y : [int] 型: int ウィンドウの初期垂直位置。オーバーラップまたはポップアップウィンドウの場合、y はウィンドウ左上隅の初期 y 座標(スクリーン座標)。子ウィンドウの場合、y は親ウィンドウクライアント領域の左上隅を基準とした子ウィンドウ左上隅の初期 y 座標。リストボックスの場合、y は親ウィンドウクライアント領域の左上隅を基準としたリストボックスクライアント領域の左上隅の初期 y 座標。 nWidth : [int] 型: int ウィンドウの幅(デバイス単位)。オーバーラップウィンドウの場合、nWidth はスクリーン座標による幅、または CW_USEDEFAULT を指定する。CW_USEDEFAULT の場合、システムが既定の幅と高さを選択する。既定の幅は初期 x 座標から画面右端まで、既定の高さは初期 y 座標からアイコン領域上端まで延びる。CW_USEDEFAULT はオーバーラップウィンドウでのみ有効。ポップアップや子ウィンドウに指定すると nWidth と nHeight は 0 に設定される。 nHeight : [int] 型: int ウィンドウの高さ(デバイス単位)。オーバーラップウィンドウの場合、nHeight はスクリーン座標によるウィンドウの高さ。nWidth に CW_USEDEFAULT が指定されている場合、nHeight は無視される。 hWndParent : [intptr] 型: HWND 作成するウィンドウの親または所有者ウィンドウへのハンドル。子ウィンドウや所有されるウィンドウを作成するには有効なウィンドウハンドルを指定する。ポップアップウィンドウではこのパラメータは省略可能。メッセージ専用ウィンドウを作成するには HWND_MESSAGE または既存のメッセージ専用ウィンドウのハンドルを指定する。 hMenu : [intptr] 型: HMENU ウィンドウスタイルに応じてメニューへのハンドルまたは子ウィンドウ識別子を指定する。オーバーラップまたはポップアップウィンドウの場合、hMenu はウィンドウで使用するメニューを識別する。クラスメニューを使用する場合は NULL を指定できる。子ウィンドウの場合、hMenu は子ウィンドウ識別子(ダイアログボックスのコントロールが親に対してイベントを通知するために使用する整数値)を指定する。識別子はアプリケーションが決定し、同じ親を持つすべての子ウィンドウで一意でなければならない。 hInstance : [intptr] 型: HINSTANCE ウィンドウに関連付けるモジュールのインスタンスへのハンドル。 lpParam : [intptr] 型: LPVOID WM_CREATE メッセージの lParam が指す CREATESTRUCT 構造体(lpCreateParams メンバ)を経由してウィンドウに渡される値へのポインタ。このメッセージは CreateWindowEx の戻り前に作成されたウィンドウへ送信される。MDI クライアントウィンドウを作成するために CreateWindow を呼ぶ場合、lpParam は CLIENTCREATESTRUCT 構造体を指す必要がある。MDI クライアントウィンドウが MDI 子ウィンドウを作成する場合は MDICREATESTRUCT 構造体を指す必要がある。追加データが不要なら NULL でもよい。
(プラグイン / モジュール : user32.dll)
拡張ウィンドウスタイルを持つオーバーラップ、ポップアップ、または子ウィンドウを作成する。それ以外は CreateWindow 関数と同じ。(Unicode) [戻り値] 型: HWND 関数が成功した場合、戻り値は新しいウィンドウへのハンドル。失敗した場合は NULL。拡張エラー情報は GetLastError で取得する。この関数は通常、次のいずれかの理由で失敗する: (以下省略) [備考] CreateWindowEx 関数は作成中のウィンドウに WM_NCCREATE、WM_NCCALCSIZE、WM_CREATE メッセージを送信する。作成されたウィンドウが子ウィンドウの場合、既定位置は Z オーダーの最下位。トップレベルウィンドウの場合は Z オーダーの最上位(ただし、作成されたウィンドウ自身が最前面でない限り、すべての最前面ウィンドウの下)。タスクバーに作成ウィンドウのボタンを表示するかどうかの制御については Managing Taskbar Buttons を参照。ウィンドウの削除については DestroyWindow を参照。次の定義済みコントロールクラスを lpClassName に指定できる。対応するコントロールスタイルは dwStyle に指定できる。 (以下省略)
| プラグイン / モジュール | 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 |