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 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
標頭 | winuser.h (包括 Windows.h) |
另請參閱
概念
參考