CREATESTRUCT structure
Defines the initialization parameters passed to the window procedure of an application. These members are identical to the parameters of the CreateWindowEx function.
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, *LPCREATESTRUCT;
Members
- lpCreateParams
-
Type: LPVOID
-
Contains additional data which may 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 a MDI client window, this member contains a pointer to a CLIENTCREATESTRUCT structure. If the window being created is a MDI child window, this member contains a pointer to an MDICREATESTRUCT structure.
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
-
Type: HINSTANCE
-
A handle to the module that owns the new window.
- hMenu
-
Type: HMENU
-
A handle to the menu to be used by the new window.
- hwndParent
-
Type: HWND
-
A 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
-
Type: int
-
The height of the new window, in pixels.
- cx
-
Type: int
-
The width of the new window, in pixels.
- y
-
Type: int
-
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
-
Type: int
-
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
-
Type: LONG
-
The style for the new window. For a list of possible values, see Window Styles.
- lpszName
-
Type: LPCTSTR
-
The name of the new window.
- lpszClass
-
Type: LPCTSTR
-
A pointer to a null-terminated string or an atom that specifies the class name of the new window.
- dwExStyle
-
Type: DWORD
-
The extended window style for the new window. For a list of possible values, see Extended Window Styles.
Remarks
Because the lpszClass member can contain a pointer to a local (and thus inaccessable) atom, do not obtain the class name by using this member. Use the GetClassName function instead.
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 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);
Requirements
|
Minimum supported client |
Windows 2000 Professional [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows 2000 Server [desktop apps only] |
|
Header |
|
|
Unicode and ANSI names |
CREATESTRUCTW (Unicode) and CREATESTRUCTA (ANSI) |
See also
- Reference
- CreateWindow
- CreateWindowEx
- MDICREATESTRUCT
- Conceptual
- Windows
- About the Multiple Document Interface