FAQ:WinAPI VCPP:обработка сообщений элемента MFC
Материал из Весельчак У
Версия от 22:14, 3 октября 2009; RXL (обсуждение | вклад)
Как обработать сообщения, которые приходят к элементу управления?
Скажем, нужно обработать сообщения, приходящие к элементу класса CEdit. Нужно произвести от CEdit свой класс и в виртуальной процедуре класса WindowProc перехватить нужные сообщения.
virtual LRESULT WindowProc( UINT message, WPARAM wParam, LPARAM lParam );
Пример. Полностью выключаем, скажем, обработку сообщения WM_CHAR.
LRESULT CMyEdit::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_CHAR: { return 0; } break; } return CEdit::WindowProc(message, wParam, lParam); }
Чтобы связать экземпляр класса с элементом управления на форме, добавьте визардом для элемента управления переменную класса (выбрав не Value, а Control).