Структура CREATESTRUCTA (winuser.h)
Определяет параметры инициализации, передаваемые в оконную процедуру приложения. Эти элементы идентичны параметрам функции CreateWindowEx .
Синтаксис
typedef struct tagCREATESTRUCTA {
LPVOID lpCreateParams;
HINSTANCE hInstance;
HMENU hMenu;
HWND hwndParent;
int cy;
int cx;
int y;
int x;
LONG style;
LPCSTR lpszName;
LPCSTR lpszClass;
DWORD dwExStyle;
} CREATESTRUCTA, *LPCREATESTRUCTA;
Члены
lpCreateParams
Тип: LPVOID
Содержит дополнительные данные, которые можно использовать для создания окна. Если окно создается в результате вызова функции CreateWindow или CreateWindowEx , этот элемент содержит значение параметра lpParam , указанное в вызове функции.
Если создаваемое окно является клиентским окном MDI, этот элемент содержит указатель на структуру CLIENTCREATESTRUCT . Если создаваемое окно является дочерним окном MDI, этот элемент содержит указатель на структуру MDICREATESTRUCT .
Если окно создается на основе шаблона диалогового окна, этот элемент является адресом значения SHORT , указывающего размер данных создания окна в байтах. За значением сразу же следуют данные создания. Дополнительные сведения см. в разделе "Примечания".
hInstance
Тип: HINSTANCE
Дескриптор модуля, которому принадлежит новое окно.
hMenu
Тип: HMENU
Дескриптор меню, используемый новым окном.
hwndParent
Тип: HWND
Дескриптор родительского окна, если окно является дочерним окном. Если окно принадлежит ей, этот элемент идентифицирует окно владельца. Если окно не является дочерним или принадлежащим окну, этот элемент имеет значение NULL.
cy
Тип: int
Высота нового окна в пикселях.
cx
Тип: int
Ширина нового окна в пикселях.
y
Тип: int
Координата Y левого верхнего угла нового окна. Если новое окно является дочерним, координаты относятся к родительскому окну. В противном случае координаты будут связаны с источником экрана.
x
Тип: int
Координата X левого верхнего угла нового окна. Если новое окно является дочерним, координаты относятся к родительскому окну. В противном случае координаты будут связаны с источником экрана.
style
Тип: LONG
Стиль нового окна. Список возможных значений см. в разделе Стили окон.
lpszName
Тип: LPCTSTR
Имя нового окна.
lpszClass
Тип: LPCTSTR
Указатель на строку, завершающуюся значением NULL, или атом, указывающий имя класса нового окна.
dwExStyle
Тип: DWORD
Расширенный стиль окна для нового окна. Список возможных значений см. в разделе Расширенные стили окна.
Комментарии
Так как член lpszClass может содержать указатель на локальный (и, следовательно, недоступный) атом, не получите имя класса с помощью этого элемента. Вместо этого используйте функцию GetClassName .
Доступ к данным, представленным элементом lpCreateParams , следует получить с помощью указателя, объявленного с помощью типа UNALIGNED , так как указатель может не быть выровнен по DWORD . Это показано в следующем примере:
typedef struct tagMyData
{
// Define creation data here.
} MYDATA;
typedef struct tagMyDlgData
{
SHORT cbExtra;
MYDATA myData;
} MYDLGDATA, UNALIGNED *PMYDLGDATA;
PMYDLGDATA pMyDlgdata = (PMYDLGDATA) (((LPCREATESTRUCT) lParam)->lpCreateParams);
Примечание
Заголовок winuser.h определяет CREATESTRUCT как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | winuser.h (включая Windows.h) |
См. также раздел
Сведения об интерфейсе нескольких документов
Основные понятия
Справочные материалы