MFC禁用按键操作
禁用按键主要是对消息进行处理,比如鼠标和键盘的消息。可以通过重载 PreTranslateMessage 函数来进行截取消息 。PreTranslateMessage 函数表示在消息处理(TranslateMessge和DispatchMessage等)前所做的操作,函数的返回值为TRUE,那么消息处理终止,不会调用TranslateMessge和DispatchMessage来翻译和分发消息给相应的窗口。若返回值为FALSE,才会调用翻译和分发消息函数。
例禁用ALT+F4快捷键:
virtual BOOL PreTranslateMessage(MSG* pMsg);
BOOL CxxxDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_SYSKEYDOWN && pMsg->wParam == VK_F4 )
{
::MessageBox(NULL, _T("别想关掉我!"), _T("想法不错"), MB_OK);
return TRUE;
}
return CDialog::PreTranslateMessage(pMsg);
}