CREATESTRUCTA 構造体 (winuser.h)

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

構文

typedef struct tagCREATESTRUCTA {
  LPVOID    lpCreateParams;
  HINSTANCE hInstance;
  HMENU     hMenu;
  HWND      hwndParent;
  int       cy;
  int       cx;
  int       y;
  int       x;
  LONG      style;
  LPCSTR    lpszName;
  LPCSTR    lpszClass;
  DWORD     dwExStyle;
} CREATESTRUCTA, *LPCREATESTRUCTA;

メンバー

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 で終わる文字列または新しいウィンドウのクラス名を指定するアトムへのポインター。

dwExStyle

型: DWORD

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

解説

lpszClass メンバーにはローカルの (したがってアクセスできない) アトムへのポインターを含めることができるため、このメンバーを使用してクラス名を取得しないでください。 代わりに 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 バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

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

関連項目

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

概念

CreateWindow

CreateWindowEx

MDICREATESTRUCT

リファレンス

Windows