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 終止字串的指標,或指定新視窗類別名稱的 Atom。
dwExStyle
類型: DWORD
新視窗的擴充視窗樣式。 如需可能值的清單,請參閱 擴充視窗樣式。
備註
因為 lpszClass 成員可以包含本機 (的指標,因此無法存取) atom,所以請勿使用此成員取得類別名稱。 請改用 GetClassName 函式。
您應該使用已使用UNALIGNED類型宣告的指標來存取lpCreateParams成員所代表的資料,因為指標可能未對齊DWORD。 在下列範例中會示範這點:
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 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
標頭 | winuser.h (包括 Windows.h) |
另請參閱
概念
參考