Vc++ 7.0 - перехватить нажатие F1
=========================================
BOOL CprogDlg::PreTranslateMessage(MSG* pMsg) {
//Перенаправить обработку акселератора в таблицу
if ( TranslateAccelerator( m_hWnd, ha, pMsg ) ) return TRUE;
if ( pMsg->message == WM_KEYDOWN ) {
if (pMsg->wParam == VK_F1)
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
===========================================
В таблице акселератора VK_F1 засылается куда надо.
Как быть?
Спасибо.
Цитата:
Originally posted by Postum
При нажатии F1 в диалоговом окне выводится системное сообщение "Файл справки не найден". Клавишу предполагается использовать для других целей. При помощи следующего кода нажатие кнопки отлавливается, но системное сообщение продолжает выдаваться:
=========================================
BOOL CprogDlg::PreTranslateMessage(MSG* pMsg) {
//Перенаправить обработку акселератора в таблицу
if ( TranslateAccelerator( m_hWnd, ha, pMsg ) ) return TRUE;
if ( pMsg->message == WM_KEYDOWN ) {
if (pMsg->wParam == VK_F1)
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
===========================================
В таблице акселератора VK_F1 засылается куда надо.
Как быть?
Спасибо.
При нажатии F1 в диалоговом окне выводится системное сообщение "Файл справки не найден". Клавишу предполагается использовать для других целей. При помощи следующего кода нажатие кнопки отлавливается, но системное сообщение продолжает выдаваться:
=========================================
BOOL CprogDlg::PreTranslateMessage(MSG* pMsg) {
//Перенаправить обработку акселератора в таблицу
if ( TranslateAccelerator( m_hWnd, ha, pMsg ) ) return TRUE;
if ( pMsg->message == WM_KEYDOWN ) {
if (pMsg->wParam == VK_F1)
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}
===========================================
В таблице акселератора VK_F1 засылается куда надо.
Как быть?
Спасибо.
BOOL CprogDlg::OnHelpInfo(HELPINFO* pHelpInfo)
{
// return CDialog::OnHelpInfo(pHelpInfo);
// Your code
return TRUE;
}