Windows winapi create window

Windows winapi create window

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

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

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

dwStyle
Определяет стиль создаваемого окна. Этот параметр может быть комбинацией стилей окна и стилей панелей управления, перечисленных в ниже следующем разделе Замечания.

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 является, или шириной окна в экранных координатах, или параметром 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, чтобы создать пользовательское окно интерфейса многодокументной среды(MDI), lpParam должен указывать на структуру CLIENTCREATESTRUCT.

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

Замечания Перед возвратом значения, CreateWindow посылает сообщение WM_CREATE оконной процедуре.
Для перекрывающих, выскакивающих и дочерних окон CreateWindow посылает окну сообщения WM_CREATE, WM_GETMINMAXINFO и WM_NCCREATE. Параметр lParam сообщения WM_CREATE содержит указатель на структуру CREATESTRUCT. Если определен стиль WS_VISIBLE, CreateWindow посылает окну все сообщения, требующиеся для того, чтобы активизировать и показать окно.
Если стиль окна определяет строку заголовка, заголовок окна, указанный в lpWindowName отображается в строке заголовка. Когда CreateWindow используется, чтобы создать элементы управления, типа кнопок, переключателей и статических элементов управления, lpWindowName используют, чтобы определить текст на элементе управления.
Если при компоновке вашей прикладной программы Вы определяете версию Windows — 4.x, ее окна не могут иметь кнопки в строке заголовка, если они к тому же не имеют меню окна. Этого не требуется для прикладных программ, которым при компоновке Вы определили версию Windows — 3.x.

Следующие предопределенные классы элементов управления могут быть определены в параметре lpClassName:

BUTTON
(КНОПКА) Обозначает маленькое прямоугольное дочернее окно, которое представляет собой кнопку и пользователь может щелкать по ней мышью, чтобы включить или отключить ее. Кнопки управления могут использоваться самостоятельно или в группах, и они могут или быть подписаны или появляться без текста. Кнопки управления обычно изменяют свой вид, когда пользователь щелкает мышью по ним.
COMBOBOX
(КОМБИНИРОВАННОЕ ОКНО) Обозначает элемент управления, состоящий из окна со списком и поля выбора, похожего на элемент редактирования текста. При использовании этого стиля, прикладная программа должна отображать все время или окно со списком или включать раскрывающийся список. В зависимости от стиля комбинированного окна, пользователь сможет или не сможет редактировать содержание поля выбора. Если окно со списком видимо, вводимые символы внутри поля выбора подсвечивают сначала ввод в окно со списком, который соответствует печатаемым символам. Наоборот, выбор элемента в окне со списком отображает выбранный текст в поле выбора.
EDIT (РЕДАКТИРУЕМОЕ ОКНО) Обозначает прямоугольное дочернее окно, внутри которого пользователь может напечатать с клавиатуры текст. Пользователь выбирает элемент управления и дает ему фокус клавиатуры, щелкая мышью по нему или перемещаясь в него, путем нажатия клавиши ТАБУЛЯЦИИ (TAB). Пользователь может напечатать текст, когда элемент управления редактируемого окна отображает мигающую каретку (caret); используйте мышь, чтобы перемещать курсор, выбирать символы, которые будут заменены, или установите курсор для вставки символов; или используйте КЛАВИШУ ВОЗВРАТА НА ПОЗИЦИЮ (BACKSPACE), чтобы удалять символы. Элементы управления редактируемого окна используют шрифт системы с переменным шагом и показывают на экране символы из символьного набора ANSI. Сообщение WM_SETFONT может также быть послано элементу управления окна редактирования, чтобы изменить заданный по умолчанию шрифт. Элементы управления окна редактирования увеличиваются в соответствии с табуляцией символов стольким количеством пробелов, сколько их требуются, чтобы переместить каретку в следующую позицию табуляции. Позиции табуляции принимаются такими, чтобы быть в каждом восьмом знакоместе. LISTBOX (ОКНО СО СПИСКОМ) Обозначает список строк символов. Этот элемент управления определяется всякий раз, когда прикладная программа должна представить список наименований, типа имен файлов, из которых пользователь может выбирать. Пользователь может выбрать строку, щелкая мышью по ней. Выбранная строка выделяется, а уведомительное сообщение передается в родительское окно. Чтобы листать списки, которые являются слишком длинными для элемента управления окна, используются вертикальная или горизонтальная линейки прокрутки окна со списком. Окно со списком автоматически скрывает или показывает линейку прокрутки, по мере необходимости. MDICLIENT
Обозначает рабочее окно МНОГОДОКУМЕНТАЛЬНОГО ИНТЕРФЕЙСА (MDI). Это окно принимает сообщения, которые управляют дочерними окнами прикладной программы МНОГОДОКУМЕНТАЛЬНОГО ИНТЕРФЕЙСА. Рекомендованный стиль содержит — WS_CLIPCHILDREN и WS_CHILD. Чтобы создать рабочее окно MDI, которое позволяет пользователю при появлении листать дочерние окна MDI, определите стили WS_HSCROLL и WS_VSCROLL. SCROLLBAR (ЛИНЕЙКА ПРОКРУТКИ) Обозначает прямоугольник, который содержит бегунок и имеет стрелки направленные в оба конца. Линейка прокрутки посылает уведомительное сообщение своему родительскому окну всякий раз, когда пользователь щелкает мышью по элементу управления. В случае необходимости, родительское окно ответственно за модификацию позиции бегунка. Элементы управления линейкой прокрутки имеют тот же самый вид и пользуются функциями, что и линейки прокрутки, используемые в обычных окнах. Однако, в отличие от линеек прокрутки окна, линейки прокрутки элемента управления могут быть установлены для использования где-нибудь в окне, при прокрутке вводимой информации необходимой для окна. Класс линейки прокрутки включает также и элементы управления размером окна. Окно с изменяемыми размерами — это маленький прямоугольник, который пользователь может растягивать, чтобы изменить размер окна. STATIC
(СТАТИЧЕСКИЙ ЭЛЕМЕНТ) Обозначает простое текстовое поле, окно или прямоугольник, используемый для надписей, окно или другие отдельные элементы управления. Статические элементы управления не берут никакой вводимой информации и не обеспечивают никакой выводимой информации.

Читайте также:  Настройка цветовой температуры windows 10

Ниже перечисленные стили окон могут быть определены в параметре 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 — Создает окно, которое имеет кнопку Развернуть (Maximize). Не может быть объединен со стилем WS_EX_CONTEXTHELP. К тому же должен быть определен стиль WS_SYSMENU.
  • WS_MINIMIZE — Создает окно, которое первоначально свернуто. Тот же самый стиль, что и WS_ICONIC.
  • WS_MINIMIZEBOX — Создает окно, которое имеет кнопку Свернуть (Minimize). Не может быть объединен со стилем 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 должны быть объединены, чтобы сделать меню окна (window) видимым.
  • WS_SIZEBOX — Создает окно, которое имеет установку размеров рамки окна. Тот же самое, что и стиль WS_THICKFRAME.
  • WS_SYSMENU — Создает окно, которое имеет меню окна (window-menu) в его строке заголовка. К тому же должен быть определен стиль WS_CAPTION.
  • WS_TABSTOP — Определяет элемент управления, который может принимать фокус клавиатуры, когда пользователь нажимает клавишу ТАБУЛЯЦИИ (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 — Создает окно, которое имеет вертикальную линейку прокрутки.
Читайте также:  Desktop image mac os

Ниже перечисленные стили кнопок (в классе BUTTON), которые могут быть определены в параметре dwStyle:

  • BS_3STATE — Создает кнопку, которая является такой же, как окошко для флажка, за исключением того, что поле окна может стать недоступным так же, как это делается при установке флажка («галочки») проверки (checked) или при отмене его. Используйте недоступное состояние, чтобы показать, что состояние окошка для флажка не определено.
  • BS_AUTO3STATE — Создает кнопку, которая является таким же переключателем с тремя состояниями, за исключением того, что поле окна изменяет свое состояние, когда пользователь выбирает его. Состояние циклически проходит фазы установки флажка проверки, недоступности и отмены установки.
  • BS_AUTOCHECKBOX — Создает кнопку, которая также является окошком для флажка, за исключением того, что состояние установки флажка проверки автоматически переключается между установленным и не установленным параметром, каждый раз, когда пользователь выбирает эту кнопку.
  • BS_AUTORADIOBUTTON — Создает кнопку, которая то же, что и «радио» кнопка, за исключением того, что, когда пользователь выбирает её, Windows автоматически устанавливает состояние кнопки в режим контроля флажка, отметив ее «галочкой» и автоматически устанавливает проверку состояния для всех других кнопок в той же самой группе без проверки флажка.
  • BS_CHECKBOX — Создает маленькое, пустое окошко для флажка с текстом. По умолчанию, текст отображается справа от окошка. Чтобы отображать текст слева от окошка, объедините этот флажок со стилем BS_LEFTTEXT (или с эквивалентным стилем BS_RIGHTBUTTON).
  • BS_DEFPUSHBUTTON — Создает командную кнопку, которая ведет себя подобно кнопке стиля BS_PUSHBUTTON и к тому же имеет жирную черную рамку. Если кнопка находится в диалоговом окне, пользователь может выбрать кнопку, нажав клавишу ENTER, даже тогда, когда кнопка не имеет фокуса ввода. Этот стиль полезен для предоставления пользователю возможности быстро выбрать наиболее подходящую (заданную по умолчанию) опцию.
  • BS_GROUPBOX — Создает прямоугольник, в котором могут быть сгруппированы другие элементы управления. Любой текст, связанный с этим стилем отображается в верхнем левом угле прямоугольника.
  • BS_LEFTTEXT — Помещает текст слева от «радио» кнопки или окошечка-переключателя, когда объединен со стилем переключателя или «радио» кнопкой. Тот же самое, что и стиль BS_RIGHTBUTTON.
  • BS_OWNERDRAW — Создает кнопку представляемую владельцем. Окно владельца принимает сообщение WM_MEASUREITEM, когда кнопка создана и сообщение WM_DRAWITEM, когда внешний вид кнопки изменился. Не объединяйте стиль BS_OWNERDRAW с любыми другими стилями кнопки.
  • BS_PUSHBUTTON — Создает командную кнопку, которая отправляет сообщение WM_COMMAND окну владельца, когда пользователь выбирает эту кнопку.
  • BS_RADIOBUTTON — Создает маленький кружок с текстом. По умолчанию, текст отображается справа от кружка. Чтобы отображать текст слева от кружка, объедините этот флажок со стилем BS_LEFTTEXT (или его эквивалентом — стилем BS_RIGHTBUTTON). Используйте «радио» кнопки для групп связанного, но взаимоисключающего выбора.
  • BS_USERBUTTON — Устаревшая, но предусматривающая совместимость с 16-разрядными версиями Windows. Базирующиеся на Win32 прикладные программы должны использовать BS_OWNERDRAW взамен этого параметра.
  • BS_BITMAP — Определяет, что кнопка отображает точечный рисунок.
  • BS_BOTTOM — Помещает текст внизу прямоугольника кнопки.
  • BS_CENTER — Выравнивает текст горизонтально по центру в прямоугольнике кнопки.
  • BS_ICON — Определяет, что кнопка отображается как значок.
  • BS_LEFT — Выравнивает слева текст в прямоугольнике кнопки. Однако, если кнопка — окошечко-переключатель или «радио» кнопка, которые не имеет стиля BS_RIGHTBUTTON, текст остается выровненным справа от переключателя или «радио» кнопки.
  • BS_MULTILINE — Переносит по словам текст кнопки в дополнительные строки, если текстовая строка слишком длинна, чтобы поместиться в одной строке в прямоугольнике кнопки.
  • BS_NOTIFY — Дает возможность кнопке послать уведомительные сообщения BN_DBLCLK, BN_KILLFOCUS и BN_SETFOCUS в её родительское окно. Обратите внимание, что кнопки посылают уведомительное сообщение BN_CLICKED независимо от того, имеет ли она этот стиль.
  • BS_PUSHLIKE — Создает кнопку (типа переключателя, переключателя с тремя состояниями или «радио» кнопки) имеющую вид и действующую подобно командной кнопке. Выпуклый вид кнопки, когда она не нажата или не выбрана и притопленый, когда она нажата или выбрана.
  • BS_RIGHT — Выровненный справа текст в прямоугольнике кнопки. Однако, если кнопка — окошко для флажка или «радио» кнопка, которая не имеет стиля BS_RIGHTBUTTON, текст выровнен по правому краю справа от окошка для флажка или «радио» кнопки.
  • BS_RIGHTBUTTON — Устанавливает кружок «радио» кнопки или квадрат окошка для флажка справа от прямоугольника кнопки. Тот же самый стиль, что и BS_LEFTTEXT.
  • BS_TEXT — Определяет, что кнопка отображает текст.
  • BS_TOP — Размешает текст вверху прямоугольника кнопки.
  • BS_VCENTER — Размещает текст в середине (вертикально) прямоугольника кнопки.

Ниже перечислены стили комбинированного окна (в классе COMBOBOX), которые могут быть определены в параметре dwStyle:

  • CBS_AUTOHSCROLL — Автоматически прокручивает текст в поле редактирования текста вправо, когда пользователь вводит с клавиатуры символ в конце строки. Если этот стиль не установлен, принимается только текст, который помещается внутри прямоугольной границы поля.
  • CBS_DISABLENOSCROLL — В окне со списком показывает вертикальную линейку прокрутки заблокированной, когда поле окна содержит не достаточно элементов для прокрутки. Без этого стиля, линейка прокрутки скрыта, если окно со списком содержит не достаточно элементов.
  • CBS_DROPDOWN — Подобен CBS_SIMPLE, за исключением того, что окно со списком не отображается, пока пользователь не выберет значок рядом с полем редактирования текста.
  • CBS_DROPDOWNLIST — Подобен CBS_DROPDOWN, за исключением того, что поле редактирования текста заменено статическим текстовым элементом, который отображает текущий выбор в окне со списком.
  • CBS_HASSTRINGS — Определяет, что представляемое владельцем комбинированное окно содержит элементы, состоящие из строк. Комбинированное окно поддерживает память и адрес для строк, так что прикладная программа может использовать сообщение CB_GETLBTEXT, чтобы восстановить текст для отдельного элемента.
  • CBS_LOWERCASE — Преобразовывает в нижний регистр любые символы верхнего регистра, введенные в поле редактирования текста комбинированного окна.
  • CBS_NOINTEGRALHEIGHT — Определяет, что размер комбинированного окна — это точный размер, определенный прикладной программой, когда она создала комбинированное окно. Обычно, Windows устанавливает размеры комбинированного окна так, чтобы оно не отображало элементы частично.
  • CBS_OEMCONVERT — Преобразует текст, введенный в поле редактирования текста комбинированного окна. Текст преобразуется из набора символов Windows в набор символов OEM, а затем обратно в набор Windows. Это гарантирует соответствующее символьное преобразование, когда прикладная программа вызывает функцию CharToOem, чтобы преобразовать строку Windows в комбинированном окне в символы OEM. Этот стиль наиболее полезен для комбинированных окон, которые содержат имена файлов и применяются только в комбинированных окнах, созданных со стилем CBS_SIMPLE или CBS_DROPDOWN.
  • CBS_OWNERDRAWFIXED — Определяет, что владелец окна со списком ответственен за прорисовку его содержания и что элементы в окне со списком все равной высоты. Окно владельца принимает сообщение WM_MEASUREITEM, когда комбинированное окно создано, а сообщение WM_DRAWITEM, когда внешний вид комбинированного окна изменился.
  • CBS_OWNERDRAWVARIABLE — Определяет, что владелец окна со списком ответственен за прорисовку его содержания и что элементы в окне со списком являются переменными по высоте. Окно владельца принимает сообщение WM_MEASUREITEM для каждого элемента комбинированного окна, когда Вы создаете комбинированное окно; окно владельца принимает сообщение WM_DRAWITEM тогда, когда изменился внешний вид комбинированного окна.
  • CBS_SIMPLE — Всегда отображать окно со списком. Текущий выбор в окне со списком отображается в поле редактирования текста.
  • CBS_SORT — Автоматически сортирует строки, введенные в окно со списком.
  • CBS_UPPERCASE — Преобразовывает любые символы нижнего регистра в символы верхнего регистра, введенные в поле редактирования текста комбинированного окна.
Читайте также:  Simple smtp server linux

Ниже перечисленные стили поля редактирования текста (в классе EDIT) могут быть определены в параметре dwStyle:

  • ES_AUTOHSCROLL — Автоматически прокручивает текст вправо на 10 символов, когда пользователь напечатает символ в конце строчки. Когда пользователь нажимает клавишу ENTER, управление прокручивает весь текст обратно, чтобы установить нуль.
  • ES_AUTOVSCROLL — Автоматически перемещает текст вверх на одну страницу, когда пользователь нажимает клавишу ENTER на последней строчке.
  • ES_CENTER — Выравнивает по центру текст в многостроковом поле редактирования текста.
  • ES_LEFT — Выравнивание текста слева.
  • ES_LOWERCASE — Преобразовывает все символы в нижний регистр, поскольку они печатаются внутри поля редактирования текста.
  • ES_MULTILINE — Обозначает многостроковое окно редактирования текста. Значение по умолчанию — одностроковое окно редактирования текста. Когда многостроковое поле редактирования находится в диалоговом окне, заданная по умолчанию ответная реакция на нажим клавиши ENTER должна активизировать кнопку по умолчанию. Чтобы использовать клавишу ENTER для перевода строки, стиль используйте ES_WANTRETURN. Когда многостроковое окно редактирования не в диалоговом окне и определен стиль ES_AUTOVSCROLL, поле редактирования показывает столько строчек, сколько это возможно и прокручивает вертикально, когда пользователь нажимает клавишу ENTER. Если Вы не определяете ES_AUTOVSCROLL, окно редактирования показывает столько строчек, сколько это возможно и подает звуковой сигнал, если пользователь нажимает клавишу ENTER, но больше ни строчки не может отобразиться в окне. Если Вы определяете стиль ES_AUTOHSCROLL, многостроковое окно редактирования автоматически горизонтально прокручивается, когда каретка проходит за правый край элемента управления. Чтобы запустить новую строку, пользователь должен нажать клавишу ENTER. Если Вы не определяете ES_AUTOHSCROLL, элемент управления, когда это необходимо, автоматически переносит без разрыва слова в начало следующей строки. Новая строка образуется и тогда, если пользователь нажимает клавишу ENTER. Размер окна определяет позицию перехода слова на новую строку. Если размер окна изменяется, изменяется позиция перехода на новую строку, а текст восстанавливается. Многостроковое окно редактирования текста может иметь линейки прокрутки . Окно редактирования с линейками прокрутки обрабатывают свои собственные сообщения от линейки прокрутки. Обратите внимание, что окно редактирования без линеек прокрутки, прокручивают текст, как описано в предыдущих параграфах и обрабатывают любые сообщений прокрутки, посланные родительским окном.
  • ES_NOHIDESEL — Отрицает заданное по умолчанию поведение для поля редактирования текста. Заданное по умолчанию поведение скрывает выбор, когда элемент управления теряет фокус ввода и инвертирует выбор, когда панель управления принимает фокус ввода. Если Вы определяете ES_NOHIDESEL, выбранный текст инвертируется, даже если панель управления не имеет фокуса.
  • ES_NUMBER — Позволяет ввести в поле редактирования только цифры.
  • ES_OEMCONVERT — Преобразует текст, введенный в окно редактирования. Текст преобразуется из набора символов Windows — в набор символов OEM, а затем обратно — в набор Windows. Это гарантирует соответствующее символьное преобразование, когда из прикладной программы вызывается функция CharToOem, чтобы преобразовать строку Windows в окне редактирования в символы OEM. Этот стиль наиболее полезен для окон редактирования текста, которые содержат имена файлов.
  • ES_PASSWORD — Отображает звездочку (*) вместо каждого символа, введенного с клавиатуры в окно редактирования. Вы можете использовать сообщение EM_SETPASSWORDCHAR, чтобы заменить ею символ, который отображается.
  • ES_READONLY — Не допускает пользователя к вводу или редактированию текста в окне редактирования.
  • ES_RIGHT — Выравнивает по правому краю текст в многострочном окне редактирования.
  • ES_UPPERCASE — Преобразует все символы в символы верхнего регистра, когда они вводятся в окно редактирования.
  • ES_WANTRETURN — Определяет, чтобы служебный код возврата каретки был вставлен тогда, когда пользователь нажимает клавишу ENTER при вводе текста в многострочное поле редактирования текста в диалоговом окне. Если Вы не определяете этот стиль, нажимая клавишу ENTER, вы получите тот же самый эффект, словно нажали заданную по умолчанию командную кнопку диалогового окна. Этот стиль не имеет никакого влияния в однострочном окне редактирования.
Оцените статью