CreateWindowA マクロ (winuser.h)
重なるウィンドウ、ポップアップ ウィンドウ、または子ウィンドウを作成します。 ウィンドウ クラス、ウィンドウ タイトル、ウィンドウ スタイル、および (必要に応じて) ウィンドウの初期位置とサイズを指定します。 この関数は、ウィンドウの親または所有者 (存在する場合) とウィンドウのメニューも指定します。
CreateWindowでサポートされているスタイルに加えて、拡張ウィンドウ スタイル
構文
HWND CreateWindowA(
[in, optional] LPCSTR lpClassName,
[in, optional] LPCSTR lpWindowName,
[in] DWORD dwStyle,
[in] int x,
[in] int y,
[in] int nWidth,
[in] int nHeight,
[in, optional] HWND hWndParent,
[in, optional] HMENU hMenu,
[in, optional] HINSTANCE hInstance,
[in, optional] LPVOID lpParam
);
パラメーター
[in, optional] lpClassName
型: LPCSTR を
[in, optional] lpWindowName
型: LPCSTR を
ウィンドウ名。 ウィンドウ スタイルでタイトル バーが指定されている場合、lpWindowName
[in] dwStyle
型: DWORD
作成するウィンドウのスタイル。 このパラメーターには、
[in] x
型: int
ウィンドウの最初の水平位置。 重なったウィンドウまたはポップアップ ウィンドウの場合、x パラメーターは、ウィンドウの左上隅の最初の x 座標 (画面座標) です。 子ウィンドウの場合、x は、親ウィンドウのクライアント領域の左上隅を基準としたウィンドウの左上隅の x 座標です。 このパラメーターが CW_USEDEFAULTに設定されている場合、システムはウィンドウの左上隅の既定の位置を選択し、y パラメーターを無視します。 CW_USEDEFAULT は、重複するウィンドウに対してのみ有効です。ポップアップ ウィンドウまたは子ウィンドウに指定されている場合、x パラメーターと y パラメーターは 0 に設定されます。
[in] y
型: int
ウィンドウの最初の垂直方向の位置。 重なったウィンドウまたはポップアップ ウィンドウの場合、y パラメーターは、ウィンドウの左上隅の初期 y 座標 (画面座標) です。 子ウィンドウの場合、y は、親ウィンドウのクライアント領域の左上隅を基準とした子ウィンドウの左上隅の最初の y 座標です。 リスト ボックスの場合、y は、親ウィンドウのクライアント領域の左上隅を基準とした、リスト ボックスのクライアント領域の左上隅の最初の y 座標です。
WS_VISIBLE スタイル ビット が設定された重なり合ったウィンドウが作成され、x パラメーターが CW_USEDEFAULTに設定されている場合、y パラメーターによってウィンドウの表示方法が決まります。 y パラメーターが CW_USEDEFAULTされている場合、ウィンドウ マネージャーは、ウィンドウの作成後に SW_SHOW フラグ ShowWindow を呼び出します。 y パラメーターが他の値である場合、ウィンドウ マネージャーはその値を nCmdShow パラメーターとして ShowWindow を呼び出します。
[in] nWidth
型: int
ウィンドウの幅 (デバイス単位)。 重複するウィンドウの場合、nWidth は、ウィンドウの幅、画面座標、または CW_USEDEFAULTのいずれかです。 nWidth
[in] nHeight
型: int
ウィンドウの高さ (デバイス単位)。 重なり合うウィンドウの場合、nHeight はウィンドウの高さ (画面座標) です。
[in, optional] hWndParent
型: HWND
作成されるウィンドウの親ウィンドウまたは所有者ウィンドウへのハンドル。 子ウィンドウまたは所有ウィンドウを作成するには、有効なウィンドウ ハンドルを指定します。 このパラメーターは、ポップアップ ウィンドウでは省略可能です。
メッセージのみのウィンドウを作成するには、既存のメッセージ専用ウィンドウに HWND_MESSAGE またはハンドルを指定します。
[in, optional] hMenu
型: HMENU
メニューのハンドル。または、ウィンドウ のスタイルに応じて子ウィンドウ識別子を指定します。 重なったウィンドウまたはポップアップ ウィンドウの場合、
[in, optional] hInstance
型: HINSTANCE
ウィンドウに関連付けるモジュールのインスタンスへのハンドル。
[in, optional] lpParam
型: LPVOID
WM_CREATE メッセージの lParam パラメーターが指す CREATESTRUCT 構造体 (lpCreateParams メンバー) を介してウィンドウに渡される値へのポインター。 このメッセージは、戻る前に、この関数によって作成されたウィンドウに送信されます。
アプリケーション
戻り値
型: HWND
関数が成功した場合、戻り値は新しいウィンドウへのハンドルです。
関数が失敗した場合、戻り値は NULL
備考
戻る前に、CreateWindow
作成されたウィンドウが子ウィンドウの場合、既定の位置は Z オーダーの一番下にあります。 作成されたウィンドウが最上位ウィンドウの場合、既定の位置は Z オーダーの一番上にあります (ただし、作成されたウィンドウ自体が最上位でない限り、最上位のすべてのウィンドウの下)。
タスク バーに作成されたウィンドウのボタンを表示するかどうかを制御する方法については、「タスク バー ボタンの管理 を参照してください。
ウィンドウを削除する方法については、DestroyWindow 関数
lpClassName パラメーターには、次の定義済みシステム クラスを指定できます。 dwStyle パラメーターで使用できる対応するコントロール スタイルに注意してください。
システム クラス | 意味 |
---|---|
ボタンの |
ユーザーがクリックしてオンまたはオフにできるボタンを表す小さな四角形の子ウィンドウを指定します。 ボタン コントロールは単独でもグループでも使用でき、ラベル付けすることも、テキストなしで表示することもできます。 ボタン コントロールは、通常、ユーザーがクリックしたときに外観を変更します。 詳細については、「ボタンの」を参照してください。
dwStyle パラメーターで指定できるボタン スタイルの表については、「Button Styles」を参照してください。 |
COMBOBOX を |
リスト ボックスと編集コントロールと同様の選択フィールドで構成されるコントロールを指定します。 このスタイルを使用する場合、アプリケーションは常にリスト ボックスを表示するか、ドロップダウン リスト ボックスを有効にする必要があります。 リスト ボックスが表示されている場合、選択フィールドに文字を入力すると、入力した文字と一致する最初のリスト ボックス エントリが強調表示されます。 逆に、リスト ボックスで項目を選択すると、選択したテキストが選択フィールドに表示されます。
詳細については、「コンボ ボックス |
編集 |
ユーザーがキーボードからテキストを入力できる四角形の子ウィンドウを指定します。 ユーザーがコントロールを選択し、そのコントロールをクリックするか Tab キーを押して移動することで、キーボード フォーカスを与えます。 ユーザーは、編集コントロールに点滅するキャレットが表示されたときにテキストを入力できます。マウスを使用してカーソルを移動したり、置換する文字を選択したり、文字を挿入するためにカーソルを配置したりします。または BACKSPACE キーを使用して文字を削除します。 詳細については、「コントロールの編集」を参照してください。
dwStyle パラメーターで指定できる編集コントロール スタイルの表については、「コントロール スタイルの編集」を参照してください。 |
LISTBOX の |
文字列の一覧を指定します。 ユーザーが選択できる名前 (ファイル名など) の一覧をアプリケーションが表示する必要がある場合は常に、このコントロールを指定します。 ユーザーは、文字列をクリックして選択できます。 選択した文字列が強調表示され、通知メッセージが親ウィンドウに渡されます。 詳細については、「リスト ボックスを |
MDICLIENT の |
MDI クライアント ウィンドウを指定します。 このウィンドウは、MDI アプリケーションの子ウィンドウを制御するメッセージを受信します。 推奨されるスタイル ビットは、WS_CLIPCHILDREN と WS_CHILDです。
WS_HSCROLL と WS_VSCROLL のスタイルを指定して、MDI 子ウィンドウを表示にスクロールできるようにする MDI クライアント ウィンドウを作成します。
詳細については、「複数のドキュメント インターフェイスの |
RichEdit |
Microsoft Rich Edit 1.0 コントロールを指定します。 このウィンドウでは、ユーザーが文字と段落の書式設定を使用してテキストを表示および編集でき、埋め込みコンポーネント オブジェクト モデル (COM) オブジェクトを含めることができます。 詳細については、「リッチ エディット コントロールの dwStyle パラメーターで指定できるリッチエディット コントロール スタイルの表については、「リッチ エディット コントロール スタイル」を参照してください。 |
RICHEDIT_CLASS |
Microsoft Rich Edit 2.0 コントロールを指定します。 このコントロールを使用すると、ユーザーは文字と段落の書式設定を使用してテキストを表示および編集でき、埋め込み COM オブジェクトを含めることができます。 詳細については、「リッチ エディット コントロールの dwStyle パラメーターで指定できるリッチエディット コントロール スタイルの表については、「リッチ エディット コントロール スタイル」を参照してください。 |
スクロール バー を |
スクロール ボックスを含み、両端に方向矢印がある四角形を指定します。 スクロール バーは、ユーザーがコントロールをクリックするたびに、親ウィンドウに通知メッセージを送信します。 必要に応じて、親ウィンドウがスクロール ボックスの位置を更新します。 詳細については、「スクロール バー |
静的 の |
他のコントロールのラベル付け、ボックス分割、または分離に使用する単純なテキスト フィールド、ボックス、または四角形を指定します。 静的コントロールは入力を受け取り、出力を提供しません。 詳細については、「静的コントロールの」を参照してください。
|
CreateWindow は、次に示すように、CreateWindowEx 関数の呼び出しとして実装されます。
#define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\
CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
#define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\
CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
#ifdef UNICODE
#define CreateWindow CreateWindowW
#else
#define CreateWindow CreateWindowA
#endif
例
例については、「ウィンドウ クラスの使用
手記
winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CreateWindow を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルまたは実行時エラーが発生する不一致につながる可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winuser.h (Windows.h を含む) |
関連項目
複数のドキュメント インターフェイスの について
概念
CreateWindowEx の
DestroyWindow の
EnableWindow の
その他のリソース を
リファレンス
RegisterClass の
RegisterClassEx の
ShowWindow の
Windows の