Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции-ТРПС.doc
Скачиваний:
13
Добавлен:
15.11.2018
Размер:
810.5 Кб
Скачать

8.2.10. Стандартный элемент управления окно ввода

Задавая класс “edit”, приложение определяет прямоугольное дочернее окно, в которое пользователь может вводить текст с клавиатуры. Характерная особенность этого органа управления – наличие мигающего курсора ввода информации. Кроме того, в данном окне функционируют все клавиши редактирования.

Для Windows 95/98 объем текста в одном окне ввода не может превышать 32К.

По умолчанию, Windows для отображения текста использует системный шрифт, соответствующий ANSI набору символов. Однако вы можете изменить шрифт для отображения информации, используя сообщение WM_SETFONT для данного окна.

8.2.10.1. Стили окна редактирования

Windows поддерживает два типа окон редактирования: обычный или одностроковый редактор и многострочное окно редактирования. При создании окна редактирования с помощью функции CreateWindow() можно использовать следующие дополнительные стили. Горизонтальная черта отмечает стили, относящиеся только к многострочным редакторам.

ES_AUTOHSCROLL

Выполняется автоматическая горизонтальная прокрутка текста, при этом полоса прокрутки не появляется.

ES_LOWERCASE

Переводит все вводимые символы в нижний регистр.

ES_UPPERCASE

Переводит все вводимые символы в верхний регистр.

ES_OEMCONVERT

Проводится конвертирование вводимого текста в ASCII символы.

ES_NUMBER

Разрешен ввод только цифр.

ES_READONLY

Ввод информации невозможен.

ES_PASSWORD

Все вводимые символы закрываются символом-заполнителем. По умолчанию это символ ‘*’, так что вводимая строка будет выглядеть как “****”. При желании можно переопределить его собственным заполнителем.

ES_NOHIDESEL

Не убирает выделение даже при потере фокуса ввода.

ES_MULTILINE

Создается многострочное окно редактирования.

ES_AUTOVSCROLL

Выполняется автоматическая вертикальная прокрутка текста в окне редактора.

ES_WANTRETURN

Нажатие клавиши Enter трактуется как переход на новую строку в окне редактора.

8.2.10.2. Сообщения от редактора к родительскому окну

Ниже указаны сообщения, которые редактор посылает своему родительскому окну. Часть из них является самостоятельными Windows сообщениями, а другие приходят в составе сообщения WM_COMMAND. В последнем случае старшее слово параметра wParam соответствует указанному нотификационному значению:

EN_UPDATE (WM_COMMAND)

Пользователь изменил текст в окне редактирования, но изменения еще не отображены.

EN_CHANGE (WM_COMMAND)

Изменения вступили в силу и уже отображены.

EN_SETFOCUS, EN_KILLFOCUS (WM_COMMAND)

Редактор получает или теряет фокус ввода.

EN_MAXTEXT (WM_COMMAND)

Вводимый символ превышает допустимое количество. Смотри сообщение EM_SETLIMITTEXT в следующем разделе.

WM_CTLCOLOREDIT

Посылается родительскому окну, когда редактору требуется перерисовать свой фон. Родительское окно должно вернуть дескриптор кисти для закрашивания фона.