CREATESTRUCT
The CREATESTRUCT
structure defines the initialization parameters passed to the window procedure
of an application.
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;
Members
lpCreateParams
Points to
data to be used for creating the window.
Windows
NT: This member is the address of a
SHORT (16_bit) value that specifies the size, in bytes, of the window creation
data. The value is immediately followed by the creation data. For more
information, see the following Remarks section.
hInstance
Identifies
the module that owns the new window.
hMenu
Identifies
the menu to be used by the new window.
hwndParent
Identifies
the parent window, if the window is a child window. If the window is owned,
this member identifies the owner window. If the window is not a child or owned
window, this member is NULL.
cy
Specifies the
height of the new window, in pixels.
cx
Specifies the
width of the new window, in pixels.
y
Specifies the
y-coordinate of the upper left corner of the new window. If the new window is a
child window, coordinates are relative to the parent window. Otherwise, the
coordinates are relative to the screen origin.
x
Specifies the
x-coordinate of the upper left corner of the new window. If the new window is a
child window, coordinates are relative to the parent window. Otherwise, the
coordinates are relative to the screen origin.
style
Specifies the
style for the new window.
lpszName
Points to a
null-terminated string that specifies the name of the new window.
lpszClass
Points to a
null-terminated string that specifies the class name of the new window.
dwExStyle
Specifies the
extended style for the new window.
Remarks
Windows
NT: Referring to the lpCreateParams
member of the CREATESTRUCT structure, because the pointer may not be
DWORD aligned, an application should access the data using a pointer that has
been declared using the UNALIGNED type, as shown in the following example:
typedef struct tagMyData {
. . .; // define creation data here
} MYDATA;
typedef struct tagMyDlgData {
SHORT cbExtra;
MYDATA myData;
} MYDLGDATA, UNALIGNED *PMYDLGDATA;
PMYDLGDATA pMyDlgdata =
(PMYDLGDATA) (((LPCREATESTRUCT) lParam)->lpcreateParams);
See Also