下面是代码实现:
PreTranslateMessage函数为消息预处理函数,这是一个虚函数,在类中进行重载即可。
BOOL CBbbDlg::PreTranslateMessage(MSG* pMsg)
{
// - pMsg中存储有各种键盘虚拟键,在此就不说明了,大家可以先试试
//屏蔽F10菜单功能键
if(WM_SYSKEYDOWN == pMsg->message)
{
if(pMsg->wParam>=0x79)
{
//MessageBox(_T("您单击了F10键"));
return true;
}
}
//屏蔽F2-F9,F11,F12
if(WM_KEYDOWN == pMsg->message)
{
if(pMsg->wParam>=0x71 && pMsg->wParam<=0x7B)
{
//MessageBox(_T("您单击了F系列键"));
return true;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
//屏蔽F1帮助键,这个在类的重载中找得到
void CBbbDlg::WinHelp(DWORD dwData, UINT nCmd)
{
//MessageBox(_T("屏蔽掉了F1帮助和F1键"));
//CDialog::WinHelp(dwData, nCmd);
}