EM_GETLINE
С помощью этого сообщения можно проверить, поддерживает ли редактор текста операцию отмены последнего действия редактирования. Эта операция выполняется по сообщению WM_UNDO, когда оно посылается в редактор текста.
EM_CANUNDO
Сообщения для редактора текста
Коды извещения
Если нужен многострочный редактор текста, необходимо указать стиль ES_MULTILINE. Для обеспечения автоматической свертки текста по горизонтали и вертикали следует указать стили ES_AUTOHSCROLL и ES_AUTOVSCROLL.
Текстовый редактор посылает в родительское окно сообщение WM_COMMAND:
– параметр wParam сообщения WM_COMMAND, равен идентификатору редактора.
– младшее слово параметра lParam содержит идентификатор окна, полученный от функции CreateWindow при создании редактора.
– старшее слово параметра lParam содержит код уведомления.
Приведем список кодов извещений.
Код извещения | Описание |
EN_CHANGE | Изменилось содержимое текста в окне редактирования |
EN_ERRSPACE | Произошла ошибка при попытке получить дополнительную память |
EN_HSCROLL | Выполнена свертка текста по горизонтали. Пользователь использовал горизонтальную полосу просмотра для свертки текста, но изменения в окне редактирования еще не произошли |
EN_KILLFOCUS | Текстовый редактор потерял фокус ввода |
EN_MAXTEXT | При вводе очередного символа произошло переполнение, так как был превышен максимально допустимый для редактора размер текста |
EN_SETFOCUS | Текстовый редактор получил фокус ввода |
EN_UPDATE | Содержимое текстового редактора будет изменено. Пользователь ввел один символ текста или выполнил другую операцию редактирования, но выполнение этой операции еще не отразилось на содержимом окна редактирования. После этого извещения после отображения изменений придет извещение с кодом EN_CHANGE |
EN_VSCROLL | Выполнена свертка текста по вертикали. Пользователь использовал вертикальную полосу просмотра для свертки текста, но изменения в окне редактироания еще не произошли |
Лекция 9. Органы управления. Редактор текста ‘edit’, ‘RichEdit’. ListBox, ComboBox.
|
|
С помощью функции SendMessage можно посылать в редактор текста различные сообщения. Коды сообщений, специально предназначенных для текстового редактора, имеют символические имена с префиксом EM_. Приведем список таких сообщений.
Параметры:
wParam = 0;
lParam = 0;
Возвращаемое значение: TRUE, если операция поддерживается, FALSE - если нет
Параметры:
wParam = (WPARAM)nLine;
lParam = (LPARAM)(LPSTR)lpCh;