FAQ:WinAPI VCPP:обработка сообщений элемента MFC

Материал из Весельчак У

Перейти к: навигация, поиск

Как обработать сообщения, которые приходят к элементу управления?

Скажем, нужно обработать сообщения, приходящие к элементу класса 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).