Изменение стилей элементов управления
Чтобы создать элемент управления редактированием с помощью функции CreateWindow или CreateWindowEx , укажите класс EDIT, соответствующие константы стиля окна и сочетание следующих стилей элементов управления редактированием. После создания элемента управления эти стили нельзя изменить, кроме как указано.
Пример
LRESULT MsgCreate(HWND hwnd, UINT uMessage, WPARAM wparam, LPARAM lparam)
{
lparam;
wparam;
uMessage;
// Create Edit control for typing to be sent to server
if (NULL == (hOutWnd = CreateWindow("EDIT",
NULL,
WS_BORDER | WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_LEFT |
ES_MULTILINE | ES_AUTOVSCROLL,
0,0,0,0,
hwnd,
(HMENU) ID_OUTBOX,
(HINSTANCE) GetWindowLongPtr(hwnd, GWLP_HINSTANCE),
NULL)))
return FALSE;
return TRUE;
}
Пример из классических примеров Windows на сайте GitHub.
Константы
Константа | Описание |
---|---|
|
Автоматически прокручивает текст вправо на 10 символов, когда пользователь вводит символ в конце строки. Когда пользователь нажимает клавишу ВВОД, элемент управления прокручивает весь текст обратно до нулевой позиции. |
|
Автоматически прокручивает текст на одну страницу вверх, когда пользователь нажимает клавишу ВВОД в последней строке. |
|
Центрирует текст в однострочном или многострочном элементе управления редактированием. |
|
Выравнивает текст по левому краю. |
|
Преобразует все символы в нижний регистр по мере их ввода в элементе управления редактированием. Чтобы изменить этот стиль после создания элемента управления, используйте SetWindowLong. |
|
Обозначает многостроковый элемент управления редактированием. По умолчанию используется однострочный элемент управления редактированием. Если элемент управления многостроковым редактированием находится в диалоговом окне, по умолчанию при нажатии клавиши ВВОД используется активация кнопки по умолчанию. Чтобы использовать клавишу ВВОД в качестве возврата каретки, используйте стиль ES_WANTRETURN . Если многострочный элемент управления редактированием не находится в диалоговом окне и указан стиль ES_AUTOVSCROLL , элемент управления редактированием отображает как можно больше строк и прокручивается по вертикали, когда пользователь нажимает клавишу ВВОД. Если не указать ES_AUTOVSCROLL, элемент управления "Редактирование" отображает как можно больше строк и вызывает звуковой сигнал, если пользователь нажимает клавишу ВВОД, когда больше строк не отображается. Если указать стиль ES_AUTOHSCROLL , элемент управления многострокового редактирования автоматически прокручивается по горизонтали, когда курсор проходит мимо правого края элемента управления. Чтобы начать новую строку, пользователь должен нажать клавишу ВВОД. Если не указать ES_AUTOHSCROLL, элемент управления при необходимости автоматически переносит слова в начало следующей строки. Новая строка также запускается, если пользователь нажимает клавишу ВВОД. Размер окна определяет положение wordwrap. Если размер окна меняется, позиция wordwrapping меняется и текст перерисовывается. Многостроочные элементы управления редактированием могут иметь полосы прокрутки. Элемент управления редактированием с полосами прокрутки обрабатывает собственные сообщения полосы прокрутки. Обратите внимание, что элементы управления редактирования без полос прокрутки прокручиваются, как описано в предыдущих абзацах, и обрабатывают все сообщения прокрутки, отправленные родительским окном. |
|
Отменяет поведение по умолчанию для элемента управления редактированием. Поведение по умолчанию скрывает выделение, когда элемент управления теряет фокус ввода, и инвертирует выделение, когда элемент управления получает фокус ввода. Если указать ES_NOHIDESEL, выделенный текст будет инвертирован, даже если элемент управления не имеет фокуса. |
|
Позволяет вводить в элемент управления редактированием только цифры. Обратите внимание, что даже при использовании этого набора в элемент управления редактированием по-прежнему можно вставлять незначные цифры. Чтобы изменить этот стиль после создания элемента управления, используйте SetWindowLong. Чтобы перевести текст, введенный в элемент управления редактированием, в целочисленное значение, используйте функцию GetDlgItemInt . Чтобы задать для текста элемента управления редактированием строковое представление указанного целого числа, используйте функцию SetDlgItemInt . |
|
Преобразует текст, введенный в элементе управления редактированием. Текст преобразуется из набора символов Windows в набор символов OEM, а затем обратно в набор символов Windows. Это обеспечивает правильное преобразование символов, когда приложение вызывает функцию CharToOem для преобразования строки Windows в элементе управления редактированием в символы OEM. Этот стиль наиболее полезен для элементов управления редактированием, содержащих имена файлов, которые будут использоваться в файловой системе, не поддерживающей Юникод. Чтобы изменить этот стиль после создания элемента управления, используйте SetWindowLong. |
ES_PASSWORD |
Отображает звездочку (*) для каждого символа, введенного в элементе управления редактированием. Этот стиль действителен только для однострочных элементов управления редактированием. Чтобы изменить отображаемые символы, задать или очистить этот стиль, используйте сообщение EM_SETPASSWORDCHAR . Примечание: Чтобы использовать Comctl32.dll версии 6, укажите его в манифесте. Дополнительные сведения о манифестах см. в разделе Включение визуальных стилей. |
|
Запрещает пользователю вводить или изменять текст в элементе управления редактированием. Чтобы изменить этот стиль после создания элемента управления, используйте сообщение EM_SETREADONLY . |
|
Выравнивает текст по правому краю в однострочном или многострочном элементе управления редактированием. |
|
Преобразует все символы в верхний регистр по мере их ввода в элементе управления редактированием. Чтобы изменить этот стиль после создания элемента управления, используйте SetWindowLong. |
|
Указывает, что возврат каретки вставляется, когда пользователь нажимает клавишу ВВОД при вводе текста в элемент управления многострочного редактирования в диалоговом окне. Если этот стиль не указан, нажатие клавиши ВВОД будет таким же эффектом, как и нажатие кнопки нажатия кнопки нажатия по умолчанию в диалоговом окне. Этот стиль не влияет на однострочный элемент управления редактированием. Чтобы изменить этот стиль после создания элемента управления, используйте SetWindowLong. |
Требования
Требование | Значение |
---|---|
Заголовок |
|