CREATESTRUCT

This structure defines the initialization parameters passed to the window procedure of an application.

At a Glance

Header file: Winuser.h
Windows CE versions: 1.0 and later

Syntax

typedef struct tagCREATESTRUCT {
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

Long pointer to additional data that can be used to create the window. If the window is being created as a result of a call to the CreateWindow or CreateWindowEx function, this member contains the value of the lpParam parameter specified in the function call.

If the window being created is an MDI window, this member contains a pointer to an MDICREATESTRUCT structure.

Windows NT: If the window is being created from a dialog template, this member is the address of a SHORT 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

Handle to the module that owns the new window.

hMenu

Handle to the menu to be used by the new window.

hwndParent

Handle to 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

Long pointer to a null-terminated string that specifies the name of the new window.

lpszClass

Long pointer to a null-terminated string that specifies the class name of the new window.

dwExStyle

Specifies the extended style for the new window.

Remarks

You should access the data represented by the lpCreateParams member using a pointer that has been declared using the UNALIGNED type, because the pointer may not be DWORD aligned. This is demonstrated in the following code 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

CreateWindow, CreateWindowEx