1.27.1.11 Функция CreateWindowEx

(СоздатьОкноУлучшенное)

Функция CreateWindowEx создает перекрывающее, выпрыгивающее или дочернее окно с расширенным стилем; иначе, эта функция идентична функции CreateWindow. Для получения дополнительной информации о создании окна и для полного описания других параметров CreateWindowEx, см. статью CreateWindow.

Синтаксис

HWND CreateWindowEx
(
DWORD dwExStyle,			// улучшенный стиль окна
LPCTSTR lpClassName,		// указатель на зарегистрированное имя класса
LPCTSTR lpWindowName,		// указатель на имя окна
DWORD dwStyle,			// стиль окна
int x,				// горизонтальная позиция окна
int y,				// вертикальная позиция окна
int nWidth,			// ширина окна
int nHeight,			// высота окна
HWND hWndParent,			// дескриптор родительского или окна
				// собственника
HMENU hMenu,			// дескриптор меню или идентификатор
				// дочернего окна
HINSTANCE hInstance,		// дескриптор экземпляра прикладной
				// программы	
LPVOID lpParam 			// указатель на данные создания окна
);

Параметры

dwExStyle
Определяет расширенный стиль окна. Этот параметр может быть одно из следующих значений:

Использование стиля WS_EX_RIGHT для статического или редактируемого элементов управления имеет тот же самый эффект как и использование стиля SS_RIGHT или ES_RIGHT, соответственно. Использование этого стиля с командными кнопками имеет тот же самый эффект как и использование стилей BS_RIGHT и BS_RIGHTBUTTON.

lpClassName
Указывает на строку с нулевым символом в конце или на целочисленный атом. Если lpClassName - атом, он должен быть глобальным атомом, созданным предыдущим вызовом функции GlobalAddAtom. Атом, 16-разрядное значение меньше чем 0xC000, должно быть младшим словом в lpClassName; старшее слово должно быть нулевое. Если lpClassName - строка, она определяет имя класса окна. Имя класса может быть любое имя, зарегистрированное функцией RegisterClass или любым из предопределенных имен класса элементов управления.

lpWindowName
Указывает на строку с нулевым символом в конце, которая определяет имя окна.

dwStyle
Определяет стиль создаваемого окна. Что касается остального списка стилей окна, которые могут быть определены в dwStyle, см. CreateWindow.

x
Определяет начальную горизонтальную позицию окна. Для перекрывающего или выскакивающего окна параметр x - начальная x-координата левого верхнего угла окна, в экранных координатах устройства. Для дочернего окна x - x-координата левого верхнего угла окна относительно левого верхнего угла рабочей области родительского окна. Если x установлен как CW_USEDEFAULT, Windows выбирает заданную по умолчанию позицию для левого верхнего угла окна и игнорирует y параметр. Стиль CW_USEDEFAULT допустим только для перекрывающих окон; если он определен для всплывающего или дочернего окна параметры x и y устанавливаются в нуль.

y
Определяет начальную вертикальную позицию окна. Для перекрывающего или выскакивающего окна, параметр y - начальная y-координата левого верхнего угла окна, в экранных координатах устройства. Для дочернего окна, y - начальная y-координата левого верхнего угла дочернего окна относительно левого верхнего угла рабочей области родительского окна. Для окна со списком, y - начальная y-координата левого верхнего угла рабочей области окна со списком относительно левого верхнего угла рабочей области родительского окна. Если перекрывающее окно создано в стиле WS_VISIBLE с набором битов, а параметр x установлен как CW_USEDEFAULT, Windows игнорирует параметр y.

nWidth
Определяет ширину окна в единицах измерения устройства. Для перекрывающих окон nWidth - ширина окна в экранной системе координат или CW_USEDEFAULT. Если nWidth - CW_USEDEFAULT, Windows выбирает заданную по умолчанию ширину и высоту для окна; заданная по умолчанию ширина простирается от начальных x-координат до правого края экрана; заданная по умолчанию высота простирается от начальной y-координаты до верхней части области значка. Стиль CW_USEDEFAULT допустим только для перекрывающих окон; если CW_USEDEFAULT определен для выскакивающего или дочернего окна, параметры nWidth и nHeight устанавливаются в нуль.

nHeight
Определяет высоту окна в единицах измерения устройства. Для перекрывающих окон, nHeight - высота окна в экранной системе координат. Если параметр nWidth установлен как CW_USEDEFAULT, Windows игнорирует nHeight.

hWndParent
Идентифицирует родительское окно или владельца создаваемого окна. Допустимый дескриптор окна должен быть дан, когда дочернее окно или находящееся в собственности окно созданы. Дочернее окно ограничено рабочей областью родительского окна. Находящееся в собственности окно - перекрывающее окно, которое разрушается, когда окно его владельца разрушено или скрыто, когда его владелец свернут; оно всегда отображается на верхней части окна его владельца. Несмотря на то, что этот параметр должен определять правильный дескриптор, если параметр dwStyle включает в себя стиль WS_CHILD, это необязательно, если dwStyle включает в себя стиль WS_POPUP.

hMenu
Идентифицирует меню или, в зависимости от стиля окна, определяет идентификатор дочернего окна. Для перекрывающего или выскакивающего окна, hMenu идентифицирует меню, которое будет использоваться окном; этот параметр может быть значением ПУСТО (NULL), если меню класса будет использовано. Для дочернего окна, hMenu определяет идентификатор дочернего окна, целочисленное значение, используемое элементом управления диалогового окна, что-бы сообщать родителю о событиях. Прикладная программа определяет идентификатор дочернего окна; он должно быть уникальным для всех дочерних окон того же самого родительского окна.

hInstance
Идентифицирует экземпляр модуля, который будет связан с окном.

lpParam
Указывает на значение, переданное окну через структуру CREATESTRUCT, вызванную параметром lParam сообщения WM_CREATE. Если прикладная программа вызвала CreateWindow, чтобы создать пользовательское окно многодокументной среды, lpParam должен указывать на структуру CLIENTCREATESTRUCT.

Возвращаемые значения
Если функция успешно завершила работу, возвращаемое значение - дескриптор для созданного окна. Если функция потерпела неудачу, возвращаемое значение - ПУСТО (NULL).

Замечания Функция CreateWindowEx посылает создаваемому окну сообщения WM_NCCREATE, WM_NCCALCSIZE и WM_CREATE. За информацией о классах элементов управления окна, стилях окна и стилях элементов управления, используемых с этой функцией, обращайтесь к описанию функции CreateWindow. Windows 95: система может поддерживать максимум 16,364 дескрипторов окна.

Смотри также
CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindow, GlobalAddAtom, RegisterClass, SetWindowPos, WM_CREATE, WM_NCCALCSIZE, WM_NCCREATE, WM_PAINT, WM_PARENTNOTIFY

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

Windows NT			Да
Win95				Да
Win32s				Да
Импортируемая библиотека		user32.lib
Заголовочный файл			winuser.h
Unicode				WinNT
Замечания по платформе		hMenu ограничено размером в (СЛОВО) WORD в Win32s

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков - 06.12.2001