Поделиться через


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

См. также

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

концептуальные

CreateWindow

CreateWindowEx

MDICREATESTRUCT

Справочник

Windows