新しいウィンドウを作成します。
HWND CreateWindowExA(
DWORD dwExStyle, // 拡張ウィンドウスタイル
PCTSTR pszClassName, // ウィンドウクラス名
PCTSTR pszWindowName, // ウィンドウ名
DWORD dwStyle, // ウィンドウスタイル
int x, // x座標
int y, // y座標
int nWidth, // xサイズ
int nHeight, // yサイズ
HWND hWndParent, // 親ウィンドウのハンドル
HMENU hMenu, // メニューハンドルまたは子ウィンドウID
HINSTANCE hInstance, // インスタンスハンドル
PVOID pParam // ウィンドウ作成データ
);
USER32.DLL
ウィンドウの拡張スタイルを指定します。
ウィンドウクラスの名前を表す文字列へのポインタを指定します。ウィンドウクラスの名前は、 RegisterClass 関数で登録したクラス名か、定義済みコントロールのクラス名になります。クラス名の大文字・小文字は区別されません。定義済みコントロールのクラス名は、以下のものがあります。
| クラス名 | 作成されるウィンドウ |
|---|---|
| "BUTTON" | ボタンコントロール |
| "COMBOBOX" | コンボボックス |
| "EDIT" | エディットボックス |
| "LISTBOX" | リストボックス |
| "MDICLIENT" | MDIクライアントウィンドウ |
| "SCROLLBAR" | スクロールバー |
| "STATIC" | スタティックコントロール |
| (以下コモンコントロール) | |
| "SysAnimate32" (ANIMATE_CLASS) |
アニメーションコントロール |
| "msctls_hotkey32" (HOTKEY_CLASS) |
ホットキーコントロール |
| "msctls_progress32" (PROGRESS_CLASS) |
プログレスバー |
| "msctls_statusbar32" (STATUSCLASSNAME) |
ステータスバー |
| "ToolbarWindow32" (TOOLBARCLASSNAME) |
ツールバー |
| "tooltips_class32" (TOOLTIPS_CLASS) |
ツールチップコントロール |
| "msctls_trackbar32" (TRACKBAR_CLASS) |
トラックバー |
| "msctls_updown32" (UPDOWN_CLASS) |
アップダウンコントロール |
| "ComboBoxEx32" (WC_COMBOBOXEX) |
拡張コンボボックス |
| "SysHeader32" (WC_HEADER) |
ヘッダーコントロール |
| "SysListView32" (WC_LISTVIEW) |
リストビュー |
| "SysTabControl32" (WC_TABCONTROL) |
タブコントロール |
| "SysTreeView32" (WC_TREEVIEW) |
ツリービュー |
| "SysDateTimePick32" (DATETIMEPICK_CLASS) |
Comctl32.dll Version 4.70 以降: DTP コントロール |
| "SysMonthCal32" (MONTHCAL_CLASS) |
Comctl32.dll Version 4.70 以降: 月間予定表コントロール |
| "ReBarWindow32" (REBARCLASSNAME) |
Comctl32.dll Version 4.70 以降: レバーコントロール |
| "SysIPAddress32" (WC_IPADDRESS) |
Comctl32.dll Version 4.71 以降: IPアドレスコントロール |
| "SysPager" (WC_PAGESCROLLER) |
Comctl32.dll Version 4.71 以降: ページャーコントロール |
ウィンドウ名を表す文字列のアドレスを指定します。
作成されるウィンドウスタイルを指定します。
それぞれの定義済みコントロールは、独自のスタイルを持つものがあります。
コモンコントロール以外の定義済みコントロールを作成する場合は、上記のスタイルの他にコントロール固有のスタイルを組み合わせて指定することができます。
コモンコントロールを作成する場合は、上記のスタイルの他にコモンコントロール固有のスタイルを組み合わせて指定することができます。
作成するウィンドウの座標を指定します。オーバーラップウィンドウやポップアップウィンドウを作成するときはスクリーン座標で、子ウィンドウを作成するときはクライアント座標で指定します。
オーバーラップウィンドウを作成する際に 0x80000000 (CW_USEDEFAULT) を指定すると、デフォルトの位置にウィンドウを作成します。その他のウィンドウを作成する際に 0x80000000 (CW_USEDEFAULT) を指定すると 0 に設定されます。
作成するウィンドウのサイズを指定します。
オーバーラップウィンドウを作成する際に 0x80000000 (CW_USEDEFAULT) を指定すると、デフォルトの位置にウィンドウを作成します。その他のウィンドウの場合は 0 に設定されます。
作成されるウィンドウの親ウィンドウのハンドルを指定します。親ウィンドウを持たない場合は 0 (NULL) を指定します。 dwStyle パラメータが WS_CHILD スタイルを含むときは有効なハンドルを指定しなければなりません。
オーバーラップウィンドウやポップアップウィンドウを作成する場合はメニューのハンドルを指定します。
子ウィンドウ(コントロール)を作成する場合は子ウィンドウ ID (コントロール ID )を指定します。子ウィンドウ ID とは、コントロールがその親ウィンドウにイベントを通知する際のウィンドウ識別値です。同じ親ウィンドウを持つすべての子ウィンドウは、それぞれ固有の ID を持つ必要があります。
ウィンドウに関連付けられたモジュールのインスタンスハンドルを指定します。
WM_CREATE メッセージの lParam パラメータとして渡される、CREATESTRUCT 構造体のアドレスを指定します。 MDI クライアントウィンドウを作成する場合は、 CLIENTCREATESTRUCT 構造体へのポインタを指定します。不要な場合は 0 (NULL) を指定します。
成功すると、作成されたウィンドウのハンドルが返ります。
失敗すると 0 (NULL) が返ります。拡張エラー情報を取得するには、 GetLastError 関数を使います。
Windows 95 以降 / Windows NT 3.1 以降