Изменение обработки сообщений по умолчанию элемента управления

В процедуру окна для предопределенных элемента управления окна класса edit выполняет стандартную обработку всех сообщений, которые не обрабатывает процедура редактирования элемента управления. Когда процедура редактирования элемента управления возвращает FALSE для любого сообщения, предопределенные Оконная процедура проверяет сообщения и выполняет следующие действия по умолчанию.

Сообщение Действия по умолчанию
EM_CANUNDO Возвращает значение TRUE, если редактирование управления операция может быть отменена.
EM_CHARFROMPOS Возвращает индекс символа и индекс символа, ближайшего указанную точку.
EM_EMPTYUNDOBUFFER Очищает буфер отмены и устанавливает флаг отмены извлечения сообщения EM_CANUNDO значение false. Система автоматически сбрасывает отмены всякий раз, когда элемент управления получает сообщение WM_SETTEXT или EM_SETHANDLE.
EM_FMTLINES Добавляет или удаляет символы разрыва мягкие линии (два символы возврата каретки и перевода строки) конце оболочку строк в элементе управления многострочного редактирования. Не обрабатывается в строках ввода одной строки.
EM_GETFIRSTVISIBLELINE Возвращает начинающийся с нуля индекс первой видимой символа в одной строки редактирования элемента управления или отсчитываемый с нуля индекс верхней видимой линии в многострочном редактировать элемент управления.
EM_GETHANDLE Возвращает маркер идентификации буфер, содержащий multiline редактировать текст элемента управления. Не обрабатывается в строках ввода одной строки.
EM_GETLIMITTEXT Возвращает текущий предел текста в символах.
EM_GETLINE Экземпляры символов в одной строки редактирования элемента управления в буфер и возвращает количество скопированных символов. В элементе управления многострочного редактирования извлекает строки текста из элемента управления и возвращает количество символов скопированы.
EM_GETLINECOUNT Возвращает количество строк в элементе управления редактирования.
EM_GETMARGINS Возвращает значения ширины левого и правого полей.
EM_GETMODIFY Возвращает флаг, указывающий, было ли изменено содержимое элемента управления редактирования.
EM_GETPASSWORDCHAR Возвращает символ, редактирования элементов управления использования совместно с ES_PASSWORD стилем.
EM_GETRECT Возвращает координаты прямоугольника форматирования в элемент управления редактирования.
EM_GETSEL Возвращает начальный и конечный символ позиции текущего выделения в элементе управления редактирования.
EM_GETTHUMB Возвращает положение указателя полосы прокрутки.
EM_GETWORDBREAKPROC Возвращает адрес текущей функции переноса слов в элемент управления редактирования.
EM_LINEFROMCHAR Возвращает начинающийся с нуля номер строки в элемент управления многострочного редактирования, который содержит символ с указанным индексом, это сообщение является обратным EM_LINEINDEX сообщения. Не обрабатывается в строках ввода одной строки.
EM_LINEINDEX Возвращает символ строки в элементе управления многострочного редактирования. Это сообщение является обратным EM_LINEFROMCHAR сообщения. Не обрабатывается в строках ввода одной строки.
EM_LINELENGTH Возвращает длину в символах, одной строки редактирования элемента управления. В элементе управления многострочного редактирования возвращает длину в символах, указанной линии.
EM_LINESCROLL Прокрутка текста по вертикали в элементе управления редактирования одной линии, или горизонтально в элементе управления многострочного редактирования (когда элемент управления имеет стиль ES_LEFT). Параметр lParam указывает количество строк для прокрутки по вертикали, начиная с текущей строки. Параметр wParam определяет количество символов для прокрутки по горизонтали, начиная с текущего символа.
EM_POSFROMCHAR Возвращает клиенту координаты заданного символа.
EM_REPLACESEL Заменяет текущий выбор в буфере поставляемых приложений, отправляет родительского окна сообщения EN_UPDATE и EN_CHANGE и обновляет буфер отмены.
EM_SCROLL Прокрутка текста по вертикали в элементе управления многострочного редактирования. Это сообщение является эквивалентом отправки WM_VSCROLL в элемент управления для редактирования. Не обрабатывается в строках ввода одной строки.
EM_SCROLLCARET Прокручивает курсор в представлении в элемент управления редактирования.
EM_SETFONT Не поддерживается.
EM_SETHANDLE Задает дескриптор память используется как буфер текста, очищает буфер отмены, обнуляется позиции прокрутки и перерисовывает окно.
EM_SETLIMITTEXT Задает максимальное число знаков, которое пользователь может вводить в элемент управления.

Windows NT: Для одной строки редактирования элементов управления, это значение является 0x7FFFFFFE или значение параметра wParam , какое значение меньше. Для многострочного редактирования элементов управления, это значение равно 0xFFFFFFFF или значение параметра wParam , какое значение меньше.

Windows 95 и Windows 98: Для одной строки редактирования элементов управления, это значение является 0x7FFE или значение параметра wParam , какое значение меньше. Для многострочного редактирования элементов управления, это значение равно 0xFFFF или значение параметра wParam , какое значение меньше.

EM_SETMARGINS Устанавливает значения ширины левого и правого полей и перерисовывает управления edit для отражения нового поля.
EM_SETMODIFY Устанавливает или снимает модификации флаг, указывающий, был ли изменен элемент управления для редактирования.
EM_SETPASSWORDCHAR Определяет характер, редактирования элементов управления использования совместно с ES_PASSWORD стилем.
EM_SETREADONLY Устанавливает или удаляет стиль только для чтения (ES_READONLY) в элемент управления редактирования.
EM_SETRECT Устанавливает прямоугольника форматирования для элемента управления многострочного редактирования и перерисовывает окно. Не обрабатывается в строках ввода одной строки.
EM_SETRECTNP Устанавливает прямоугольника форматирования для элемента управления многострочного редактирования, но не перерисовать окно. Не обрабатывается в строках ввода одной строки.
EM_SETSEL Выбирает диапазон символов в поле редактирования путем установки начальной и конечной позициями должен выбираться.
EM_SETTABSTOPS Наборы позиции табуляции в многострочном редактирования элемента управления. Не обрабатывается в строках ввода одной строки.
EM_SETWORDBREAKPROC Заменяет используемую по умолчанию функцию переноса слов с функцией переноса слов, определяемые приложением.
EM_UNDO Удаляет любой текст, который был только что добавлен или вставляет все удаленные знаки и задает выделение вставленного текста. При необходимости, посылает сообщения уведомления о EN_UPDATE и EN_CHANGE родительского окна.
WM_CHAR Записывает символ в поле редактирования одной линии и отправляет сообщения уведомления о EN_UPDATE и EN_CHANGE родительского окна. Запись в символ multiline редактирования элемента управления. Обрабатывает сочетания клавиш для стандартных функций, такие как ctrl + c для копирования и ctrl + v для вставки. В многострочном редактировать и также вкладку процессы, а ctrl + tab нажатия клавиш для перехода между элементами управления в диалоговом окне и для вставки закладок в многострочном редактирования элементов управления. Использует MessageBeep функция для недопустимых символов.
WM_CLEAR Очищает текущий выбор, если таковые имеются, в элемент управления редактирования. Если не выделен текущий, удаляет символ справа от курсора. Если пользователь нажимает клавишу shift, это снижает выделение в буфер обмена, или удаления символа слева от курсора, когда не выделен. Если пользователь нажимает клавишу ctrl, это удаление выделенного фрагмента или удаления до конца строки, когда не выделен.
WM_COPY Копирует текст в буфер обмена, если стиль-ES_PASSWORD, в котором случае сообщение возвращает ноль.
WM_CREATE Создает элемент управления для редактирования и уведомляет родительского окна с TRUE для успеха или -1 для отказа.
WM_CUT Вырезает выделение в буфер обмена, или удаление символа слева от курсора, если не выделен.
WM_ENABLE Заставляет прямоугольник перерисовку в серый цвет для элементов управления редактирования одной линии. Возвращает состояние для элементов управления редактирования однострочные и многострочные.
WM_ERASEBKGND Заполняет окно управления многострочного редактирования с текущим цветом элемента управления для редактирования.
WM_GETDLGCODE Возвращает следующие значения: DLGC_WANTCHARS, DLGC_HASSETSEL и DLGC_WANTARROWS. В элементах управления для многострочного редактирования он также возвращает DLGC_WANTALLKEYS. Если пользователь нажимает alt + backspace, он также возвращает DLGC_WANTMESSAGE.
WM_GETFONT Возвращает дескриптор шрифта используется элементом управления, или NULL, если элемент управления использует системный шрифт.
WM_GETTEXT Копирует указанное число знаков в буфер и возвращает количество скопированных символов.
WM_GETTEXTLENGTH Возвращает длину в символах, текста в элемент управления редактирования. Длина не включает завершающий символ null-.
WM_HSCROLL Прокрутка текста в элементе управления многострочного редактирования горизонтально и ручки прокрутки коробки движение.
WM_KEYDOWN Выполняет стандартные коды виртуальных клавиш.
WM_KILLFOCUS Удаляет клавиатурный фокус окна управления редактирования, разрушает курсора, скрывает текущий выбор и сообщает родительскому окну элемента управления редактирования потерял фокус.
WM_LBUTTONDBLCLK Удаление выделенного элемента и выбирает слово под курсором. Если клавиша shift не работает, расширение выбора до слово под курсором.
WM_LBUTTONDOWN Изменяет точка вставки. Если клавиша shift не работает, расширение выбора до позиции курсора. В элементах управления для редактирования многострочных также устанавливает таймер автоматически прокрутки, когда пользователь удерживает кнопку мыши за пределы окна управления многострочного редактирования.
WM_LBUTTONUP Освобождает захват мыши и устанавливает точку вставки текста в элементе управления редактирования одной линии. В элементе управления многострочного редактирования он также убивает в WM_LBUTTONDOWN сообщение таймера.
WM_MOUSEMOVE Изменяет текущее выделение в элементе управления редактирования одной строки, если кнопка мыши не работает. В элементах управления для редактирования многострочных также устанавливает таймер автоматически просматривать если пользователь удерживает кнопку мыши за пределы окна управления многострочного редактирования.
WM_NCCREATE Указатель на структуру CREATESTRUCT для окна. Это сообщение отправляется в WM_CREATE сообщение при создании окна.
WM_NCDESTROY Освобождает память, связанные с окном редактирования элемента управления, включая текст в буфер, буфер отмены, буфер табуляции и выделить кисти.
WM_PAINT Стирает фон, заполняет окна с текущим цветом окна элемента управления редактирования, рисует границу (если есть), устанавливает шрифт и рисует любой текст и показывает курсор вставки текста.
WM_PASTE Вставляет текст из буфера обмена в окно редактирования элемента управления в позиции курсора.
WM_SETFOCUS Устанавливает фокус клавиатуры управления окна редактирования (показывает текущий выбор, если он был скрыт и создает курсор).
WM_SETFONT Устанавливает шрифт и при необходимости перерисовывает управления edit.
WM_SETTEXT Копии текста для одной строки редактирования элемента управления, уведомляет родительского окна, когда недостаточно памяти, очищает буфер отмены, посылает сообщения уведомления о EN_UPDATE и EN_CHANGE родительского окна. В многострочном редактирования элементов управления, также rewraps линии (при необходимости) и наборы позиции прокрутки.
WM_SIZE Изменяет размер окна элемента управления редактирования и гарантирует, что минимальный размер учитывает высоту и ширину символа.
WM_SYSCHAR Возвращает значение TRUE, если пользователь нажимает alt + backspace; в противном случае он не предпринимает действий.
WM_SYSKEYDOWN Отменяет последнее действие, если пользователь нажимает alt + backspace; в противном случае он не предпринимает действий.
WM_TIMER Прокрутка текста в окне редактирования элемента управления, если пользователь удерживает кнопку мыши за пределы окна управления многострочного редактирования.
WM_UNDO Удаляет любой текст, который был только что добавлен или вставляет все удаленные знаки и задает выделение вставленного текста. При необходимости, посылает сообщения уведомления о EN_UPDATE и EN_CHANGE родительского окна.
WM_VSCROLL Прокрутка в многострочном редактировать элемент управления вертикально и ручки прокрутки окна движения. Не обрабатывается в строках ввода одной строки.

Предопределенные редактирования элемента управления окна процедура пропуска всех сообщений для DefWindowProc функция для обработки по умолчанию.

Index