CREATESTRUCTW 構造体 (winuser.h)

アプリケーションのウィンドウ プロシージャに渡される初期化パラメーターを定義します。 これらのメンバーは、 CreateWindowEx 関数のパラメーターと同じです。

構文

typedef struct tagCREATESTRUCTW {
  LPVOID    lpCreateParams;
  HINSTANCE hInstance;
  HMENU     hMenu;
  HWND      hwndParent;
  int       cy;
  int       cx;
  int       y;
  int       x;
  LONG      style;
  LPCWSTR   lpszName;
  LPCWSTR   lpszClass;
  DWORD     dwExStyle;
} CREATESTRUCTW, *LPCREATESTRUCTW;

メンバー

lpCreateParams

種類: LPVOID

ウィンドウの作成に使用できる追加のデータが含まれます。 CreateWindow 関数または CreateWindowEx 関数の呼び出しの結果としてウィンドウが作成される場合、このメンバーには関数呼び出しで指定された lpParam パラメーターの値が含まれます。

作成されるウィンドウが MDI クライアント ウィンドウの場合、このメンバーには CLIENTCREATESTRUCT 構造体へのポインターが含まれます。 作成されるウィンドウが MDI 子ウィンドウの場合、このメンバーには MDICREATESTRUCT 構造体へのポインターが含まれます。

ダイアログ テンプレートからウィンドウを作成する場合、このメンバーは、ウィンドウ作成データのサイズをバイト単位で指定する SHORT 値のアドレスです。 値の直後に作成データが続きます。 詳細については、「解説」を参照してください。

hInstance

種類: HINSTANCE

新しいウィンドウを所有するモジュールへのハンドル。

hMenu

種類: HMENU

新しいウィンドウで使用されるメニューへのハンドル。

hwndParent

型: HWND

ウィンドウが子ウィンドウの場合は、親ウィンドウへのハンドル。 ウィンドウが所有されている場合、このメンバーは所有者ウィンドウを識別します。 ウィンドウが子ウィンドウまたは所有ウィンドウでない場合、このメンバーは NULL になります

cy

型: int

新しいウィンドウの高さ (ピクセル単位)。

cx

型: int

新しいウィンドウの幅 (ピクセル単位)。

y

型: int

新しいウィンドウの左上隅の y 座標。 新しいウィンドウが子ウィンドウの場合、座標は親ウィンドウに対して相対的になります。 それ以外の場合、座標は画面の原点に対して相対的になります。

x

型: int

新しいウィンドウの左上隅の x 座標。 新しいウィンドウが子ウィンドウの場合、座標は親ウィンドウに対して相対的になります。 それ以外の場合、座標は画面の原点に対して相対的になります。

style

型: LONG

新しいウィンドウのスタイル。 使用可能な値の一覧については、「 ウィンドウ のスタイル」を参照してください。

lpszName

型: LPCTSTR

新しいウィンドウの名前。

lpszClass

型: LPCTSTR

null で終わる文字列または新しいウィンドウのクラス名を指定する atom へのポインター。

dwExStyle

型: DWORD

新しいウィンドウの拡張ウィンドウ スタイル。 使用可能な値の一覧については、「 拡張ウィンドウ のスタイル」を参照してください。

解説

lpszClass メンバーにはローカルの (したがってアクセスできない) atom へのポインターを含めることができるので、このメンバーを使用してクラス名を取得しないでください。 代わりに GetClassName 関数を使用してください。

ポインターが DWORD アラインされていない可能性があるため、UNALIGNED 型を使用して宣言されたポインターを使用して lpCreateParams メンバーによって表されるデータにアクセスする必要があります。 これは、次の例で示されています。

typedef struct tagMyData 
{
    // Define creation data here. 
} MYDATA; 
 
typedef struct tagMyDlgData 
{ 
    SHORT   cbExtra; 
    MYDATA  myData; 
} MYDLGDATA, UNALIGNED *PMYDLGDATA; 
 
PMYDLGDATA pMyDlgdata = (PMYDLGDATA) (((LPCREATESTRUCT) lParam)->lpCreateParams);

注意

winuser.h ヘッダーは、CREATESTRUCT をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header winuser.h (Windows.h を含む)

関連項目

複数のドキュメント インターフェイスについて

概念

CreateWindow

CreateWindowEx

MDICREATESTRUCT

リファレンス

Windows