Структура 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 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
заголовка | winuser.h (включая Windows.h) |
См. также
о интерфейса нескольких документов
концептуальные
Справочник