Структура 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)

См. также раздел

Сведения об интерфейсе нескольких документов

Основные понятия

CreateWindow

CreateWindowEx

MDICREATESTRUCT

Справочные материалы

Windows