Есть код
BEGIN_MESSAGE_MAP(C_KBH_Dlg, CDialog)
...
ON_WM_KEYDOWN()
...
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////
//class C_KBH_Dlg:
...
public:
afx_msg void OnKeyDown(UINT C,UINT R,UINT F);
...
/////////////////////////////////////////////////////////////
//реализация:
void C_KBH_Dlg::OnKeyDown(UINT C,UINT R,UINT F)
{
MessageBox("Hello",0,MB_OK);
UpdateData(0);
}
тип проекта: MFC application->dialog based
Проблема: при нажатии любой клавиши во время выполнения программы, ничего не происходит((
Кто знает, что в моем коде не так ?
Здравствуйте, Аноним, Вы писали:
А>Кто знает, что в моем коде не так ?
Cкорее всего, сообщение обрабатывается одним из контролов диалога. Попробуйте перехватить его в PreTranslateMessage:
virtual BOOL PreTranslateMessage(MSG* pMsg);
BOOL CMyDialog::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_KEYDOWN)
{
MessageBox(L"Hello",0,MB_OK);
UpdateData(0);
}
return CDialog::PreTranslateMessage(pMsg);
}