Win32 API. Структуры и сообщения окна - Структура CREATESTRUCT

ОГЛАВЛЕНИЕ

Структура CREATESTRUCT

Структура CREATESTRUCT определяет параметры инициализации, передаваемые оконной процедуре прикладной программы.

Синтаксис

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;

Элементы структуры lpCreateParams

Указывает на данные, которые нужно использовать для создания окна. Windows NT: Этот элемент структуры является значением адреса со спецификатором SHORT (16_bit), которое устанавливает размер, в байтах, данных создания окна. Значение непосредственно сопровождается данными создания. Для получения дополнительной информации, см. следующий раздел Замечаний.
hInstance
Идентифицирует модуль, который владеет новым окном.
hMenu
Идентифицирует меню, которое используется созданным окном.
hwndParent
Идентифицирует родительское окно, если созданное окно - дочернее окно. Если окно является владельцем, этот элемент идентифицирует окно владельца. Если окно - не дочернее или не находящееся в собственности окно, этот элемент - ПУСТО (NULL).
cy
Устанавливает высоту нового окна, в пикселях.
cx
Устанавливает ширину нового окна, в пикселях.
y
Устанавливает y-координату верхнего левого угла нового окна. Если новое окно - дочернее окно, координаты - относительно родительского окна. Иначе, координаты - относительно экранного начала координат.
x
Устанавливает x-координату верхнего левого угла нового окна. Если новое окно - дочернее окно, координаты - относительно родительского окна. Иначе, координаты - относительно экранного начала координат. style
Определяет стиль для нового окна. lpszName
Указывает на строку с нулевым символом в конце, которая определяет имя нового окна.
lpszClass
Указывает на строку с нулевым символом в конце, которая определяет имя класса нового окна.
dwExStyle
Определяет расширенный стиль для нового окна.

Замечания

Windows NT: Ссылаясь на элемент lpCreateParams структуры CREATESTRUCT, поскольку указатель может быть не выровненный по границе ДВОЙНОГО СЛОВА (DWORD), прикладная программа должена обратиться к данным, использующим указатель, который был объявлен с ис-пользованием типа НЕВЫРОВНЕННЫЙ (UNALIGNED), как показано в следующем примере:
typedef struct tagMyData 
{
. . .;   // Определите данные для создания окна здесь
} MYDATA;

typedef struct tagMyDlgData {
SHORT cbExtra;
MYDATA myData;
} MYDLGDATA, UNALIGNED *PMYDLGDATA;

PMYDLGDATA pMyDlgdata = (PMYDLGDATA) (((LPCREATESTRUCT) lParam)->lpcreateParams);

Смотри также

CreateWindow, CreateWindowEx

Размещение и совместимость CREATESTRUCT

Windows NT   Да 
Win95    Да
Win32s    Да
Импортируемая библиотека -
Заголовочный файл   winuser.h
Unicode    WinNT
Замечания по платформе  Не имеется