FAQ:WinAPI VCPP:обработка сообщений элемента MFC — различия между версиями
Материал из Весельчак У
RXL (обсуждение | вклад) (Новая: ===Как обработать сообщения, которые приходят к элементу управления?=== Скажем, нужно обработать сообщ...) |
RXL (обсуждение | вклад) |
||
Строка 32: | Строка 32: | ||
элемента управления переменную класса (выбрав не Value, а Control). | элемента управления переменную класса (выбрав не Value, а Control). | ||
− | [[Category:FAQ:WinAPI VCPP]] | + | [[Category:FAQ:WinAPI VCPP]] [[Category:FAQ:MFC]] |
Текущая версия на 22:14, 3 октября 2009
Как обработать сообщения, которые приходят к элементу управления?
Скажем, нужно обработать сообщения, приходящие к элементу класса 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).