CreateWindowEx(A)

新しいウィンドウを作成します。

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

引数

dwExStyle

ウィンドウの拡張スタイルを指定します。

pszClassName

ウィンドウクラスの名前を表す文字列へのポインタを指定します。ウィンドウクラスの名前は、 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 以降: ページャーコントロール
pszWindowName

ウィンドウ名を表す文字列のアドレスを指定します。

dwStyle

作成されるウィンドウスタイルを指定します。

それぞれの定義済みコントロールは、独自のスタイルを持つものがあります。

コモンコントロール以外の定義済みコントロールを作成する場合は、上記のスタイルの他にコントロール固有のスタイルを組み合わせて指定することができます。

コモンコントロールを作成する場合は、上記のスタイルの他にコモンコントロール固有のスタイルを組み合わせて指定することができます。

x, y

作成するウィンドウの座標を指定します。オーバーラップウィンドウやポップアップウィンドウを作成するときはスクリーン座標で、子ウィンドウを作成するときはクライアント座標で指定します。

オーバーラップウィンドウを作成する際に 0x80000000 (CW_USEDEFAULT) を指定すると、デフォルトの位置にウィンドウを作成します。その他のウィンドウを作成する際に 0x80000000 (CW_USEDEFAULT) を指定すると 0 に設定されます。

nWidth, nHeight

作成するウィンドウのサイズを指定します。

オーバーラップウィンドウを作成する際に 0x80000000 (CW_USEDEFAULT) を指定すると、デフォルトの位置にウィンドウを作成します。その他のウィンドウの場合は 0 に設定されます。

hWndParent

作成されるウィンドウの親ウィンドウのハンドルを指定します。親ウィンドウを持たない場合は 0 (NULL) を指定します。 dwStyle パラメータが WS_CHILD スタイルを含むときは有効なハンドルを指定しなければなりません。

hMenu

オーバーラップウィンドウやポップアップウィンドウを作成する場合はメニューのハンドルを指定します。

子ウィンドウ(コントロール)を作成する場合は子ウィンドウ ID (コントロール ID )を指定します。子ウィンドウ ID とは、コントロールがその親ウィンドウにイベントを通知する際のウィンドウ識別値です。同じ親ウィンドウを持つすべての子ウィンドウは、それぞれ固有の ID を持つ必要があります。

hInstance

ウィンドウに関連付けられたモジュールのインスタンスハンドルを指定します。

pParam

WM_CREATE メッセージの lParam パラメータとして渡される、CREATESTRUCT 構造体のアドレスを指定します。 MDI クライアントウィンドウを作成する場合は、 CLIENTCREATESTRUCT 構造体へのポインタを指定します。不要な場合は 0 (NULL) を指定します。

戻り値

成功すると、作成されたウィンドウのハンドルが返ります。

失敗すると 0 (NULL) が返ります。拡張エラー情報を取得するには、 GetLastError 関数を使います。

対応情報

Windows 95 以降 / Windows NT 3.1 以降