CREATESTRUCT结构定义了传递给应用程序的窗口过程的初始化参数。
typedef struct tagCREATESTRUCT { // cs
LPVOID lpCreateParams;
HINSTANCE hInstance;
HMENU hMenu;
HWND hwndParent;
int cy;
int cx;
int y;
int x;
LONG style;
LPCTSTR lpszName;
LPCTSTR lpszClass;
DWORD dwExStyle;
} CREATESTRUCT;
会员
lpCreateParams
指向要用于创建窗口的数据。
Windows NT:该成员是SHORT(16_bit)值的地址,用于指定窗口创建数据的大小(以字节为单位)。该值紧随其后的是创建数据。有关详细信息,请参阅以下备注部分。
的hInstance
标识拥有新窗口的模块。
HMENU
标识要由新窗口使用的菜单。
hwndParent
标识父窗口,如果窗口是子窗口。如果窗口拥有,则该成员将标识所有者窗口。如果窗口不是子窗口或拥有窗口,则此成员为NULL。
cy
指定新窗口的高度(以像素为单位)。
cx
指定新窗口的宽度(以像素为单位)。
y
指定新窗口左上角的y坐标。如果新窗口是子窗口,则坐标相对于父窗口。否则,坐标是相对于屏幕起点。
x
指定新窗口左上角的x坐标。如果新窗口是子窗口,则坐标相对于父窗口。否则,坐标是相对于屏幕起点。
样式
指定新窗口的样式。
lpszName
指向指定新窗口名称的以null结尾的字符串。
lpszClasspl
指向一个以null结尾的字符串,指定新窗口的类名。
dwExStyle
指定新窗口的扩展样式。
备注
Windows NT:参考CREATESTRUCT结构的lpCreateParams成员,因为指针可能不是DWORD对齐,所以应用程序应该使用已使用UNALIGNED类型声明的指针访问数据,如以下示例所示:
typedef struct tagMyData {en
. . .;//在这里定义创建数据
} MYDATA;
typedef struct tagMyDlgData {en
SHORT cbExtra;
MYDATA myData;
} MYDLGDATA, UNALIGNED *PMYDLGDATA;
PMYDLGDATA pMyDlgdata =
(PMYDLGDATA) (((LPCREATESTRUCT) lParam)->lpcreateParams);
也可以看看