ON_WM_KEYDOWN()
От: Аноним  
Дата: 09.09.08 10:17
Оценка:
Есть код

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
Проблема: при нажатии любой клавиши во время выполнения программы, ничего не происходит((
Кто знает, что в моем коде не так ?
on_wm_keydown()
Re: ON_WM_KEYDOWN()
От: _NaN_ Россия www.elangroup-software.com
Дата: 09.09.08 10:48
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Кто знает, что в моем коде не так ?


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);
}
Re[2]: ON_WM_KEYDOWN()
От: GLeBaTi  
Дата: 09.09.08 13:31
Оценка:
Спасибо — помогло!)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.