CreateWindow

Функция CreateWindow создает окно перекрытия, всплывающее окно или ребенка. Это определяет класс окна, заголовок окна, стиль окна и (при необходимости) начальное положение и размер окна. Функция определяет родительского окна или владельца, если таковые имеются и меню окна.

Чтобы использовать расширенные стили в дополнение к поддержке CreateWindowстили, используйте функцию CreateWindowEx вместо использования CreateWindow.

() HWND CreateWindow LPCTSTR  lpClassName, / / указатель на зарегистрированные имя классаLPCTSTRlpWindowName, / / указатель на имя окнаDWORDdwStyle, / / стиль окнаint x, / / горизонтальное положение окна int y, / / вертикальное положение окна intnWidth, / / ширина окна intnHeight, / / высота окнаHWNDhWndParent, / / обработать родителя или владелец окнаHMENUhMenu, / / обработать идентификатор меню или дочернего окнаОБРАБАТЫВАТЬhInstance, / / обработать для экземпляра приложенияLPVOIDlpParam / / указатель на данные окна Создание);
 

Параметры

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 верхнего левого угла окна относительно верхнего левого угла родительского окна клиентской области.

Если этот параметр имеет значение 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.

Примечания

Перед возвращением, CreateWindow посылает сообщение WM_CREATE в процедуру окна. Для частично совпадают, pop-up и дочерние окна, CreateWindow отправляет сообщений WM_CREATE, WM_GETMINMAXINFOи WM_NCCREATE в окно. Параметр lParam сообщения WM_CREATE содержит указатель на структуру CREATESTRUCT . Если указан WS_VISIBLE стиль, CreateWindow посылает окна всех сообщений, необходимых для активации и показать окно.

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

Следующие классы предопределенных элементов управления могут быть указаны в параметре 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 версии 4.x при компоновке вашего приложения, его окна не может иметь заголовок кнопки если они также есть окно меню. Это не требование, если указать Windows версии 3.x при компоновке вашего приложения.

Windows CE: CreateWindow реализован в виде макроса. Он определяется как CreateWindowEx, но с параметром dwExStyle , равным 0 Л.

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

Класс окна MDICLIENT не поддерживается.

Параметр dwStyle может быть сочетание стилей окна и стили элементов управления описаны в:

Диалоговые окна

Windows

Элементы управления

Для windows не поддерживаются следующие флаги 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

Для элементов управления и диалоговые окна не поддерживаются следующие флаги dwStyle:

Неподдерживаемый стили Стили не поддерживается статический элемент управления
BS_LEFTTEXT SS_BLACKFRAME
BS_MULTILINE SS_GRAYFRAME
BS_TEXT SS_METAPICT
BS_USERBUTTON SS_SIMPLE
Неподдерживаемый combo box стили SS_WHITERECT
CBS_OWNERDRAWFIXED SS_BLACKRECT
CBS_OWNERDRAWVARIABLE SS_GRAYRECT
CBS_SIMPLE SS_RIGHTIMAGE
Стили элементов управления не поддерживается список поле SS_WHITEFRAME
LBS_NODATA Неподдерживаемый диалогового окна Стили
LBS_OWNERDRAWFIXED DS_ABSALIGN
LBS_OWNERDRAWVARIABLE DS_CENTERMOUSE
LBS_STANDARD DS_CONTEXTHELP
Стили отрезков неподдерживаемый прокрутки DS_FIXEDSYS
SBS_BOTTOMALIGN DS_NOFAILCREATE
SBS_RIGHTALIGN DS_NOIDLEMSG
SBS_SIZEBOXBOTTOMRIGHTALIGN DS_SYSMODAL
SBS_SIZEGRIP

BS_OWNERDRAW стиль можно использовать в качестве замены стиля BS_USERBUTTON.

Вам можно использовать стиль SS_LEFT или SS_LEFTNOWORDWRAP вместо SS_SIMPLE стиля для статических элементов управления..

Класс окна MDICLIENT не поддерживается.

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

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

Windows CE версии 1.0 не поддерживает строки меню.

QuickInfo

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

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

Обзор Windows, окно функции, CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindowEx, GlobalAddAtom, RegisterClassEx, WM_COMMAND, WM_CREATE, WM_GETMINMAXINFO, WM_NCCREATE, WM_PAINT

Index