CreateWindowEx

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

() HWND CreateWindowEx DWORD  dwExStyle, / / расширенный стиль окнаLPCTSTRlpClassName, / / указатель на зарегистрированные имя классаLPCTSTRlpWindowName, / / указатель на имя окнаDWORDdwStyle, / / стиль окна int x, / / горизонтальное положение окна int y, / / вертикальное положение окна intnWidth, / / ширина окна intnHeight, / / высота окнаHWNDhWndParent, / / обработать родителя или владелец окнаHMENUhMenu, / / обработать для меню, или идентификатор дочернего окнаHINSTANCEhInstance, / / обработать для экземпляра приложенияLPVOIDlpParam / / указатель на данные окна Создание);
 

Параметры

dwExStyle
Определяет расширенный стиль окна. Этот параметр может принимать одно из следующих значений:
Стиль Значение
WS_EX_ACCEPTFILES Указывает, что окно, созданное с этим стилем принимает перетаскивания файлов.
WS_EX_APPWINDOW Вынуждает верхнего уровня окна на панели задач, когда окно не станет видимым.
WS_EX_CLIENTEDGE Указывает, что окно имеет границу с затонувших края.
WS_EX_CONTEXTHELP Включает вопросительный знак в строке заголовка окна. Когда пользователь щелкает знак вопроса, курсор изменения в знак вопроса с указателем. Если пользователь щелкает дочернего окна, ребенок получает сообщение WM_HELP. Дочернее окно сообщение следует передать процедуре родительского окна, который следует вызвать функцию WinHelp , с помощью команды HELP_WM_HELP. Помощи приложение отображает всплывающее окно, которое обычно содержит справку для дочернего окна.

WS_EX_CONTEXTHELP не может использоваться с WS_MAXIMIZEBOX или WS_MINIMIZEBOX стилей.

WS_EX_CONTROLPARENT Позволяет пользователю перемещаться среди дочерних окон окна с помощью клавиши tab.
WS_EX_DLGMODALFRAME Создает окно, которое имеет двойной границы; окна при необходимости, создаются с заголовка окна, указав WS_CAPTION стиль в параметре dwStyle.
WS_EX_LEFT Окно имеет общие свойства «левому краю». Это значение по умолчанию.
WS_EX_LEFTSCROLLBAR Если язык оболочки является иврит, арабский язык или другой язык что поддерживает чтение порядок выравнивания, вертикальная полоса прокрутки (если есть) слева от клиентской области. Для других языков игнорируется и не рассматривается как ошибка стиль.
WS_EX_LTRREADING Текст окна отображается с использованием слева направо; порядок чтения свойств. Это значение по умолчанию.
WS_EX_MDICHILD Создает дочернее окно MDI.
WS_EX_NOPARENTNOTIFY Указывает, что дочернее окно, созданные с этим стилем не отправляет сообщение WM_PARENTNOTIFY родительского окна, при его создании или уничтожен.
WS_EX_OVERLAPPEDWINDOW Сочетает в себе стили WS_EX_CLIENTEDGE и WS_EX_WINDOWEDGE.
WS_EX_PALETTEWINDOW Сочетает в себе стили WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW и WS_EX_TOPMOST.
WS_EX_RIGHT Окно имеет общие свойства, «справа». Это зависит от класса window. Этот стиль имеет эффект только если язык оболочки является иврит, арабский язык или другой язык, поддерживающий чтение заказать выравнивание; в противном случае игнорируется и не рассматривается как ошибка стиль.
WS_EX_RIGHTSCROLLBAR Вертикальная полоса прокрутки (если есть) — справа от клиентской области. Это значение по умолчанию.
WS_EX_RTLREADING Если язык оболочки является иврит, арабский язык или другой язык, что поддерживает чтение порядок выравнивания, окна отображается текст с использованием права на левом порядка чтения свойств. Для других языков игнорируется и не рассматривается как ошибка стиль.
WS_EX_STATICEDGE Создает окно с трехмерной границей стилем, предназначены для использования для элементов, которые не принимают ввод пользователя.
WS_EX_TOOLWINDOW Создает окно инструментов; то есть окно предназначен для использования как перемещаемой панелью инструментов. Окно инструментов присутствует строка заголовка, короче, чем нормальный заголовок и заголовок окна отображаются с помощью меньший размер шрифта. Окно инструментов не отображается на панели задач или в диалоговом окне, которое появляется, когда пользователь нажал клавиши alt + tab. Если окно инструментов системного меню, его значок не отображается в заголовке окна. Однако система меню можно отобразить, щелкнув правой кнопкой мыши или введя alt + пробел.
WS_EX_TOPMOST Указывает, что окно, созданное с этим стилем следует прежде всего верхний windows и должен оставаться над ними, даже при деактивации окна. Чтобы добавить или удалить этот стиль, используется функция SetWindowPos.
WS_EX_TRANSPARENT Указывает, что окно, созданное с этим стилем не должен быть окрашен до тех пор, пока окрашены братьев и сестер под окном (которые были созданы в том же потоке). Появляется окно прозрачным потому что биты базового сестру windows уже окрашены.

Для достижения прозрачности без этих ограничений, используйте SetWindowRgn функция.

WS_EX_WINDOWEDGE Указывает, что окно имеет границу с эффект приподнятости.

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

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

Если lpClassName является строкой, он определяет имя класса окна. Имя класса может быть любым именем, зарегистрированные с функцией RegisterClassEx или какой-либо из имен предопределенного класса элемента управления.

lpWindowName
Указатель на строку, оканчивающуюся нулем, указывающая имя окна.

Если стиль окна заголовка окна, заголовок окна, который указывает lpWindowName отображается в строке заголовка. При использовании CreateWindow для создания элементов управления, такие как кнопки, флажки и статических элементов управления, используйте lpWindowName для указания текста элемента управления.

dwStyle
Задает стиль создаваемого окна. Этот параметр может быть комбинацией следующих стилей окна, а также стили элементов управления, указанные в разделе "Примечания".
Стиль Значение
WS_BORDER Создает окно, которое имеет тонкие линии границы.
WS_CAPTION Создает окно, которое имеет строки заголовка (включает стиль WS_BORDER).
WS_CHILD Создает дочернее окно. Этот стиль не может использоваться с WS_POPUP стиль.
WS_CHILDWINDOW Же самое, что стиль WS_CHILD.
WS_CLIPCHILDREN Исключая площадь, занятая дочерних окон, когда рисование происходит в родительском окне. Этот стиль используется при создании родительского окна.
WS_CLIPSIBLINGS Клипы дочерних окон отношению друг к другу; то есть, когда получает конкретного дочернего окна сообщение WM_PAINT , стиль WS_CLIPSIBLINGS клипы всех остальных перекрывающихся окон ребенка из региона дочернего окна обновления. Если WS_CLIPSIBLINGS не указан и перекрываются дочерних окон, это возможно, при рисовании в пределах клиентской области дочернего окна, чтобы привлечь в пределах клиентской области соседнего дочернего окна.
WS_DISABLED Создает окно, которое первоначально отключено. Инвалидов окна не может получать входные данные от пользователя.
WS_DLGFRAME Создает окно, которое имеет границы стиля, обычно используется с диалоговыми окнами. Окно с этим стилем не может иметь строки заголовка.
WS_GROUP Определяет первый элемент управления группы элементов управления. Группа состоит из этого первого элемента управления и всех элементов управления, определенных после него, вплоть до на следующий элемент управления с WS_GROUP стилем. Первый элемент управления в каждой группе обычно имеет стиль WS_TABSTOP, так что пользователь может перемещаться от группы к группе. Пользователь может впоследствии изменить фокус клавиатуры с одного элемента управления в группе на следующий элемент управления в группе, используя ключи дирекции.
WS_HSCROLL Создает окно, которое имеет горизонтальную полосу прокрутки.
WS_ICONIC Создает окно, которое первоначально к минимуму. Же самое, что стиль WS_MINIMIZE.
WS_MAXIMIZE Создает окно, которое первоначально развернуто.
WS_MAXIMIZEBOX Создает окно, которое имеет кнопку Развернуть. Нельзя использовать вместе с WS_EX_CONTEXTHELP стилем. Необходимо также указать WS_SYSMENU стиль.
WS_MINIMIZE Создает окно, которое первоначально к минимуму. Же самое, что стиль WS_ICONIC.
WS_MINIMIZEBOX Создает окно, которое имеет кнопку Свернуть. Нельзя использовать вместе с WS_EX_CONTEXTHELP стилем. Необходимо также указать WS_SYSMENU стиль.
WS_OVERLAPPED Создает перекрывающихся окон. Перекрывающиеся окна есть строка заголовка и граница. Же самое, что стиль WS_TILED.
WS_OVERLAPPEDWINDOW Создаёт перекрывающихся окно с WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX и WS_MAXIMIZEBOX стилей. Же самое, что стиль WS_TILEDWINDOW.
WS_POPUP Создает всплывающее окно. Этот стиль не может использоваться с WS_CHILD стиль.
WS_POPUPWINDOW Создает всплывающее окно с WS_BORDER, WS_POPUP и WS_SYSMENU стилей. Стили WS_CAPTION и WS_POPUPWINDOW должны быть объединены для отображения меню окна.
WS_SIZEBOX Создает окно, которое имеет границы для изменения размера. Же самое, что стиль WS_THICKFRAME.
WS_SYSMENU Создает окно, в меню окна на его заголовок. Необходимо также указать WS_CAPTION стиль.
WS_TABSTOP Определяет элемент управления, который может получить фокус клавиатуры, когда пользователь нажимает клавишу tab. Нажатие клавиши tab изменяет фокус на следующий элемент управления в WS_TABSTOP стиле.
WS_THICKFRAME Создает окно, которое имеет границы для изменения размера. Же самое, что стиль WS_SIZEBOX.
WS_TILED Создает перекрывающихся окон. Перекрывающиеся окна есть строка заголовка и граница. Же самое, что стиль WS_OVERLAPPED.
WS_TILEDWINDOW Создаёт перекрывающихся окно с WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX и WS_MAXIMIZEBOX стилей. Же самое, что стиль WS_OVERLAPPEDWINDOW.
WS_VISIBLE Создает окно, которое первоначально виден.
WS_VSCROLL Создает окно, которое имеет вертикальную полосу прокрутки.

x
Определяет начальное горизонтальное положение окна. Для перекрытия или всплывающие окна параметр x является первоначальный-координату x верхнего левого угла окна в экранных координатах. Для дочернего окна x — это координата x верхнего левого угла окна относительно верхнего левого угла родительского окна клиентской области.

Если x имеет значение CW_USEDEFAULT, система выбирает положение по умолчанию для левого верхнего угла окна и игнорирует параметр y . CW_USEDEFAULT допустим только для перекрывающихся окон; Если для указано всплывающее окно или дочерние окна, x и y параметров устанавливаются в ноль.

y
Определяет первоначальное вертикальное положение окна. Для перекрытия или всплывающие окна параметр y является первоначальный-координату y верхнего левого угла окна в экранных координатах. Для дочернего окна y является первоначальный-координату y верхнего левого угла окна ребенка относительно верхнего левого угла родительского окна клиентской области. Для списка y является первоначальный-координату y верхнего левого угла области клиента поле списка относительно верхнего левого угла родительского окна клиентской области.

Если перекрывающихся окно создается с установленным битом WS_VISIBLE стиля и параметр x имеет значение CW_USEDEFAULT, система игнорирует параметр y.

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

Windows NT 5.0 и более поздних: Для создания окна сообщения только поставлять HWND_MESSAGE или дескриптора к существующему окну сообщений только.

hMenu
Обрабатывать в меню, или идентификатор дочернего окна, в зависимости от стиля окна. Для перекрытия или всплывающие окна hMenu идентифицирует меню для использования с окна; Она может быть NULL, если в меню класса должна использоваться. Для дочернего окна hMenu указывает идентификатор дочернего окна, целочисленное значение, используется элемент управления диалогового окна "для уведомления его родителя о событиях. Приложение определяет идентификатор дочернего окна; оно должно быть уникальным для всех дочерних окон с тем же родительским окном.
hInstance
Дескриптор экземпляра модуля ассоциироваться с окном.
lpParam
Указатель на значение для передачи в окно через CREATESTRUCT структуры переданных в параметре lParam сообщения WM_CREATE . Если приложение вызывает CreateWindow для создания окно Клиент интерфейса (MDI) несколько документов, lpParam должны указывать на CLIENTCREATESTRUCT структуры.

Возвращаемые значения

Если функция выполнена успешно, возвращаемое значение является дескриптором для нового окна.

Если вызов функции был неуспешен, возвращается значение NULL. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Примечания

Функция CreateWindowEx отправляет сообщения WM_NCCREATE, WM_NCCALCSIZE и WM_CREATE в окно создания.

Сведения о сдерживании ли панели задач отображает кнопку для созданного окна содержатся в разделе Видимость кнопки панели задач.

Следующие классы предопределенных элементов управления могут быть указаны в параметре lpClassName . Примечание соответствующие управления стилей, вы можете использовать в параметре dwStyle.

Класс Значение
КНОПКА Назначает небольшие прямоугольные дочернее окно, представляющий кнопку, которую пользователь может щелкнуть, чтобы включить или отключить. Элементы управления Button можно использовать отдельно или в составе групп, и они могут либо маркироваться или представляются без текста. Элементы управления Button обычно изменить внешний вид, когда пользователь щелкает им. Для получения дополнительной информации см. кнопки.
Для таблицы стилей кнопок, которые можно указать в параметре dwStyle смотрите Стили.
COMBOBOX Определяет элемент управления, состоящий из списка и поля выбора, аналогичный элемент управления редактирования. При использовании этого стиля, приложение должно отображать поле списка в любое время или списком флажок Включить. Если виден в списке, ввести символы в поле Выбор подчеркивает первая запись поля списка, соответствующий символы, введенные. И наоборот при выборе элемента в поле со списком отображается выбранный текст в поле выбора. Для получения дополнительной информации смотрите Списками.
Для таблицы стилей поле со списком можно указать в параметре dwStyle смотрите Combo Box стили.
РЕДАКТИРОВАНИЕ Определяет прямоугольную дочернее окно, в которое пользователь может ввести текст с помощью клавиатуры. Пользователь выбирает элемент управления и дает ему фокус клавиатуры, щелкнув ее или перехода к ней, нажав клавишу tab. Пользователь может ввести текст, когда элемент управления отображается мигающий курсор; с помощью мыши переместите курсор, выберите символы для покупки, или поместите курсор вставки символов; или используйте клавишу backspace для удаления символов. Дополнительные сведения содержатся в разделе Редактирования элементов управления.
Для таблицы стилей элемента управления редактирования, можно указать в параметре dwStyle смотрите Редактировать стили управления.
LISTBOX Задает список строк символов. Всякий раз, когда приложение должно представить перечень имена, такие как имена файлов, из которого пользователь может укажите этот элемент управления. Пользователь может выбрать строку, щелкнув его. Выбранные строка будет выделена, и сообщение уведомления передаётся в родительском окне. Для получения дополнительной информации смотрите Списки.
Для таблицы стилей окна списка можно указать в параметре dwStyle смотрите Список стилей окна.
MDICLIENT Назначает окно клиента MDI. Это окно получает сообщения, которые управляют дочерних окон MDI-приложении. Рекомендуемый стиль бит являются WS_CLIPCHILDREN и WS_CHILD. Укажите стили WS_HSCROLL и WS_VSCROLL для создания окна клиента MDI, который позволяет пользователю для прокручивания дочерних окон интерфейса MDI. Дополнительные сведения содержатся в разделе Многодокументный интерфейс.
RichEdit Определяет элемент управления Rich Edit версии 1.0. Это окно позволяет зрения пользователей редактировать текст с форматирование символов и абзацев и может включать в себя встроенный COM-объекты. Для получения дополнительной информации см. Многофункциональные элементы управления редактирования.
Для таблицы стилей элемента управления rich edit, можно указать в параметре dwStyle смотрите Рич редактировать стили управления.
RICHEDIT_CLASS Определяет элемент управления Rich Edit версии 2.0. Этот контроль пусть пользователь представление редактирования текста с форматирование символов и абзацев и может включать в себя встроенный COM-объекты. Для получения дополнительной информации см. Многофункциональные элементы управления редактирования.
Для таблицы стилей элемента управления rich edit, можно указать в параметре dwStyle смотрите Рич редактировать стили управления.
ПОЛОСА ПРОКРУТКИ Задает прямоугольник, содержащий бегунка и имеет направление стрелки на обоих концах. Полоса прокрутки отправляет сообщение уведомления родительского окна всякий раз, когда пользователь щелкает элемент управления. Родительское окно отвечает за обновление положение полосы прокрутки при необходимости. Для получения дополнительной информации смотрите Полосы прокрутки.
Для таблицы стилей элементов управления панель прокрутки, можно указать в параметре dwStyle смотрите Стили элементов управления панель прокрутки.
СТАТИЧЕСКИЙ Определяет простое текстовое поле, поле или прямоугольник, используются для этикетки, коробки или отдельные другие элементы управления. Статические элементы управления принимать входные данные не и обеспечивают отсутствие вывода. Для получения дополнительной информации см. Статические элементы управления.
Для таблицы стилей статического элемента управления, который можно указать в параметре dwStyle смотрите Статические стили элементов управления.

Windows 95: Система может поддерживать до 16,364 оконных дескрипторов.

Windows CE: Windows CE не поддерживает самостоятельные меню бара. HMenu параметр должен иметь значение NULL, если только оно не используется как идентификатор дочернего окна.

Windows CE версии 2.0 и более поздних поддерживают следующие два расширенных стилей окна:

WS_EX_NOACTIVATE
Окно верхнего уровня, созданный с этим стилем не может быть активирован. Если дочернее окно имеет этот стиль, разговоров она не вызовет родительским элементом верхнего уровня будет активирована. Окно, которое имеет этот стиль будет получать события пера, но ни он, ни его дочерних окон могут получить фокус.
WS_EX_NOANIMATION
Окно, созданное с этим стилем не показывать анимированные взрывающаяся и imploding прямоугольников и не содержит кнопку на панели задач.

Не поддерживаются следующие флаги dwExStyle.

WS_EX_ACCEPTFILES WS_EX_LEFTSCROLLBAR
WS_EX_LEFT WS_EX_MDICHILD
WS_EX_LTRREADING WS_EX_PALETTEWINDOW
WS_EX_NOPARENTNOTIFY WS_EX_RIGHTSCROLLBAR
WS_EX_RIGHT WS_EX_TOOLWINDOW
WS_EX_RTLREADING WS_EX_TRANSPARENT
WS_EX_APPWINDOW

Windows CE 1.0 не поддерживает WS_EX_TOPMOST стиль. Версии 2.0 и более поздних ду.

Не поддерживаются следующие флаги dwStyle.

WS_CHILDWINDOW WS_ICONIC
WS_MAXIMIZE WS_MAXIMIZEBOX
WS_MINIMIZE WS_MINIMIZEBOX
WS_OVERLAPPEDWINDOW WS_POPUPWINDOW
WS_SIZEBOX WS_THICKFRAME
WS_TILED WS_TILEDWINDOW

Все окна неявно имеют стили WS_CLIPSIBLINGS и WS_CLIPCHILDREN.

Windows CE 1.0 не поддерживает собственные окна, за исключением диалоговых окон. Если параметр hwndParent не является NULL, окно неявно получает стиль WS_CHILD.

QuickInfo

nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winuser.h.
Импорта библиотеки:Используйте user32.lib.
Юникод:В версии Юникода и ANSI в Windows NT.

Родственные слова

Обзор Windows, окно функции, CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindow, GlobalAddAtom, RegisterClassEx, SetWindowPos, WM_CREATE, WM_NCCALCSIZE, WM_NCCREATE, WM_PAINT, WM_PARENTNOTIFY

Index