次の方法で共有


CreateWindowA マクロ (winuser.h)

重なるウィンドウ、ポップアップ ウィンドウ、または子ウィンドウを作成します。 ウィンドウ クラス、ウィンドウ タイトル、ウィンドウ スタイル、および (必要に応じて) ウィンドウの初期位置とサイズを指定します。 この関数は、ウィンドウの親または所有者 (存在する場合) とウィンドウのメニューも指定します。

CreateWindowでサポートされているスタイルに加えて、拡張ウィンドウ スタイル 使用するには、CreateWindowEx 関数 使用します。

構文

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 を

null-terminated 文字列、または RegisterClass または registerClassEx 関数への以前の呼び出しによって作成されたクラス アトム 。 atom は、lpClassNameの下位ワード 含まれている必要があります。高次ワードはゼロでなければなりません。 lpClassName が文字列の場合は、ウィンドウ クラス名を指定します。 クラスを登録するモジュールがウィンドウを作成するモジュールでもある場合、クラス名には、RegisterClass または RegisterClassExに登録されている任意の名前を指定できます。 クラス名には、定義済みのシステム クラス名を指定することもできます。 システム クラス名の一覧については、「解説」セクションを参照してください。

[in, optional] lpWindowName

型: LPCSTR を

ウィンドウ名。 ウィンドウ スタイルでタイトル バーが指定されている場合、lpWindowName 指すウィンドウ タイトルがタイトル バーに表示されます。 CreateWindow を使用してボタン、チェック ボックス、静的コントロールなどのコントロールを作成する場合は、lpWindowName 使用してコントロールのテキストを指定します。 SS_ICON スタイルで静的コントロールを作成する場合は、lpWindowName 使用してアイコンの名前または識別子を指定します。 識別子を指定するには、構文 "#num" を使用します。

[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 CW_USEDEFAULT場合、ウィンドウの既定の幅と高さが選択されます。既定の幅は最初の x 座標から画面の右端まで、既定の高さは初期の y 座標からアイコン領域の上部まで拡張されます。 CW_USEDEFAULT は、重複するウィンドウに対してのみ有効です。ポップアップ ウィンドウまたは子ウィンドウに CW_USEDEFAULT が指定されている場合は、nWidthnHeight が 0 に設定されます。

[in] nHeight

型: int

ウィンドウの高さ (デバイス単位)。 重なり合うウィンドウの場合、nHeight はウィンドウの高さ (画面座標) です。 nWidthCW_USEDEFAULTに設定されている場合、システムは nHeight無視します。

[in, optional] hWndParent

型: HWND

作成されるウィンドウの親ウィンドウまたは所有者ウィンドウへのハンドル。 子ウィンドウまたは所有ウィンドウを作成するには、有効なウィンドウ ハンドルを指定します。 このパラメーターは、ポップアップ ウィンドウでは省略可能です。

メッセージのみのウィンドウを作成するには、既存のメッセージ専用ウィンドウに HWND_MESSAGE またはハンドルを指定します。

[in, optional] hMenu

型: HMENU

メニューのハンドル。または、ウィンドウ のスタイルに応じて子ウィンドウ識別子を指定します。 重なったウィンドウまたはポップアップ ウィンドウの場合、hMenu はウィンドウで使用するメニューを識別します。クラス メニューを使用する場合は、null を できます。 子ウィンドウの場合、hMenu は、子ウィンドウ識別子 (イベントについて親に通知するためにダイアログ ボックス コントロールによって使用される整数値) を指定します。 アプリケーションは、子ウィンドウ識別子を決定します。同じ親ウィンドウを持つすべての子ウィンドウで一意である必要があります。

[in, optional] hInstance

型: HINSTANCE

ウィンドウに関連付けるモジュールのインスタンスへのハンドル。

[in, optional] lpParam

型: LPVOID

WM_CREATE メッセージの lParam パラメーターが指す CREATESTRUCT 構造体 (lpCreateParams メンバー) を介してウィンドウに渡される値へのポインター。 このメッセージは、戻る前に、この関数によって作成されたウィンドウに送信されます。

アプリケーション CreateWindow を呼び出して MDI クライアント ウィンドウを作成する場合、lpParam は、CLIENTCREATESTRUCT 構造体を指す必要があります。 MDI クライアント ウィンドウが CreateWindow 呼び出して MDI 子ウィンドウを作成する場合、lpParam は、MDICREATESTRUCT 構造体を指す必要があります。 lpParam 、追加のデータが必要ない場合は NULL 可能性があります。

戻り値

型: HWND

関数が成功した場合、戻り値は新しいウィンドウへのハンドルです。

関数が失敗した場合、戻り値は NULL。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

戻る前に、CreateWindow WM_CREATE メッセージをウィンドウ プロシージャに送信します。 重複するウィンドウ、ポップアップ ウィンドウ、および子ウィンドウの場合は、CreateWindow WM_CREATEWM_GETMINMAXINFO、および WM_NCCREATE メッセージをウィンドウに送信します。 WM_CREATE メッセージの lParam パラメーターには、CREATESTRUCT 構造体へのポインターが含まれています。 WS_VISIBLE スタイルが指定されている場合、CreateWindow は、アクティブ化してウィンドウを表示するために必要なすべてのメッセージをウィンドウに送信します。

作成されたウィンドウが子ウィンドウの場合、既定の位置は Z オーダーの一番下にあります。 作成されたウィンドウが最上位ウィンドウの場合、既定の位置は Z オーダーの一番上にあります (ただし、作成されたウィンドウ自体が最上位でない限り、最上位のすべてのウィンドウの下)。

タスク バーに作成されたウィンドウのボタンを表示するかどうかを制御する方法については、「タスク バー ボタンの管理 を参照してください。

ウィンドウを削除する方法については、DestroyWindow 関数 参照してください。

lpClassName パラメーターには、次の定義済みシステム クラスを指定できます。 dwStyle パラメーターで使用できる対応するコントロール スタイルに注意してください。

システム クラス 意味
ボタンの ユーザーがクリックしてオンまたはオフにできるボタンを表す小さな四角形の子ウィンドウを指定します。 ボタン コントロールは単独でもグループでも使用でき、ラベル付けすることも、テキストなしで表示することもできます。 ボタン コントロールは、通常、ユーザーがクリックしたときに外観を変更します。 詳細については、「ボタンの」を参照してください。

dwStyle パラメーターで指定できるボタン スタイルの表については、「Button Styles」を参照してください。

COMBOBOX を する リスト ボックスと編集コントロールと同様の選択フィールドで構成されるコントロールを指定します。 このスタイルを使用する場合、アプリケーションは常にリスト ボックスを表示するか、ドロップダウン リスト ボックスを有効にする必要があります。 リスト ボックスが表示されている場合、選択フィールドに文字を入力すると、入力した文字と一致する最初のリスト ボックス エントリが強調表示されます。 逆に、リスト ボックスで項目を選択すると、選択したテキストが選択フィールドに表示されます。

詳細については、「コンボ ボックスする」を参照してください。 dwStyle パラメーターで指定できるコンボ ボックス スタイルのテーブルについては、「コンボ ボックススタイルを参照してください。

編集 ユーザーがキーボードからテキストを入力できる四角形の子ウィンドウを指定します。 ユーザーがコントロールを選択し、そのコントロールをクリックするか Tab キーを押して移動することで、キーボード フォーカスを与えます。 ユーザーは、編集コントロールに点滅するキャレットが表示されたときにテキストを入力できます。マウスを使用してカーソルを移動したり、置換する文字を選択したり、文字を挿入するためにカーソルを配置したりします。または BACKSPACE キーを使用して文字を削除します。 詳細については、「コントロールの編集」を参照してください。

dwStyle パラメーターで指定できる編集コントロール スタイルの表については、「コントロール スタイルの編集」を参照してください。

LISTBOX の 文字列の一覧を指定します。 ユーザーが選択できる名前 (ファイル名など) の一覧をアプリケーションが表示する必要がある場合は常に、このコントロールを指定します。 ユーザーは、文字列をクリックして選択できます。 選択した文字列が強調表示され、通知メッセージが親ウィンドウに渡されます。 詳細については、「リスト ボックスを する」を参照してください。

dwStyle パラメーターで指定できるリスト ボックス スタイルの表については、「リスト ボックススタイル参照してください。

MDICLIENT の MDI クライアント ウィンドウを指定します。 このウィンドウは、MDI アプリケーションの子ウィンドウを制御するメッセージを受信します。 推奨されるスタイル ビットは、WS_CLIPCHILDRENWS_CHILDです。 WS_HSCROLLWS_VSCROLL のスタイルを指定して、MDI 子ウィンドウを表示にスクロールできるようにする MDI クライアント ウィンドウを作成します。

詳細については、「複数のドキュメント インターフェイスの」を参照してください。

RichEdit Microsoft Rich Edit 1.0 コントロールを指定します。 このウィンドウでは、ユーザーが文字と段落の書式設定を使用してテキストを表示および編集でき、埋め込みコンポーネント オブジェクト モデル (COM) オブジェクトを含めることができます。 詳細については、「リッチ エディット コントロールの」を参照してください。

dwStyle パラメーターで指定できるリッチエディット コントロール スタイルの表については、「リッチ エディット コントロール スタイル」を参照してください。

RICHEDIT_CLASS Microsoft Rich Edit 2.0 コントロールを指定します。 このコントロールを使用すると、ユーザーは文字と段落の書式設定を使用してテキストを表示および編集でき、埋め込み COM オブジェクトを含めることができます。 詳細については、「リッチ エディット コントロールの」を参照してください。

dwStyle パラメーターで指定できるリッチエディット コントロール スタイルの表については、「リッチ エディット コントロール スタイル」を参照してください。

スクロール バー を する スクロール ボックスを含み、両端に方向矢印がある四角形を指定します。 スクロール バーは、ユーザーがコントロールをクリックするたびに、親ウィンドウに通知メッセージを送信します。 必要に応じて、親ウィンドウがスクロール ボックスの位置を更新します。 詳細については、「スクロール バーを参照してください。

dwStyle パラメーターで指定できるスクロール バー コントロール スタイルの表については、「スクロール バー コントロールのスタイル参照してください。

静的 の 他のコントロールのラベル付け、ボックス分割、または分離に使用する単純なテキスト フィールド、ボックス、または四角形を指定します。 静的コントロールは入力を受け取り、出力を提供しません。 詳細については、「静的コントロールの」を参照してください。

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 の

WM_COMMAND

WM_CREATE

WM_GETMINMAXINFO

WM_NCCREATE

WM_PAINT

ウィンドウズ