Функция CreateWindow создает окно перекрытия, всплывающее окно или ребенка. Это определяет класс окна, заголовок окна, стиль окна и (при необходимости) начальное положение и размер окна. Функция определяет родительского окна или владельца, если таковые имеются и меню окна.
Чтобы использовать расширенные стили в дополнение к поддержке CreateWindowстили, используйте функцию CreateWindowEx вместо использования CreateWindow.
() HWND CreateWindow LPCTSTR lpClassName, / / указатель на зарегистрированные имя классаLPCTSTRlpWindowName, / / указатель на имя окнаDWORDdwStyle, / / стиль окнаint x, / / горизонтальное положение окна int y, / / вертикальное положение окна intnWidth, / / ширина окна intnHeight, / / высота окнаHWNDhWndParent, / / обработать родителя или владелец окнаHMENUhMenu, / / обработать идентификатор меню или дочернего окнаОБРАБАТЫВАТЬhInstance, / / обработать для экземпляра приложенияLPVOIDlpParam / / указатель на данные окна Создание);
Если lpClassName является строкой, он определяет имя класса окна. Имя класса может быть любым именем, зарегистрированные с функцией RegisterClassEx или любой из названий предопределенного класса элемента управления. Полный список см. в разделе "Примечания".
Если стиль окна заголовка окна, заголовок окна, который указывает lpWindowName отображается в строке заголовка. При использовании CreateWindow для создания элементов управления, такие как кнопки, флажки и статических элементов управления, используйте lpWindowName для указания текста элемента управления.
Стиль | Значение |
---|---|
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 | Создает окно, которое имеет вертикальную полосу прокрутки. |
Если этот параметр имеет значение CW_USEDEFAULT, система выбирает положение по умолчанию для левого верхнего угла окна и игнорирует параметр y . CW_USEDEFAULT допустим только для перекрывающихся окон; Если для указано всплывающее окно или дочерние окна, x и y параметров устанавливаются в ноль.
Если перекрывающихся окно создается с установленным битом WS_VISIBLE стиля и параметр x имеет значение CW_USEDEFAULT, система игнорирует параметр y.
Windows NT 5.0 и более поздних: Для создания окна сообщения только поставлять HWND_MESSAGE или дескриптора к существующему окну сообщений только.
Если функция выполнена успешно, возвращаемое значение является дескриптором для нового окна.
Если вызов функции был неуспешен, возвращается значение 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 не поддерживает строки меню.
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