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 を含む) |
関連項目
概念
リファレンス