MFC

MFC禁用按键操作

MFC

Posted by YiMiTuMi on July 26, 2019

MFC禁用按键操作

禁用按键主要是对消息进行处理,比如鼠标和键盘的消息。可以通过重载 PreTranslateMessage 函数来进行截取消息 。PreTranslateMessage 函数表示在消息处理(TranslateMessgeDispatchMessage等)前所做的操作,函数的返回值为TRUE,那么消息处理终止,不会调用TranslateMessgeDispatchMessage来翻译和分发消息给相应的窗口。若返回值为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);
}

时钟花 – 爱在你身边