或許還有其它更好的辦法,但下面這個肯定有用,主要就是重載PreTranslateMessage()函數(shù),在這個函數(shù)里捕捉ESC和ENTER鍵按下時的消息,然后什么都不做,或是添加代碼完成你自己想要實現(xiàn)的功能。
1.完全屏蔽ESC鍵與ENTER回車鍵
BOOL CQQ_chart_serverDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==VK_RETURN)
return TRUE;
if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==VK_ESCAPE)
return TRUE;
return CDialog::PreTranslateMessage(pMsg);
}
2.完全屏蔽ESC鍵,捕捉ENTER回車鍵
BOOL CQQ_chart_clientDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN )
{
if(GetFocus()->GetDlgCtrlID()==IDC_MSG_SEND)//按下回車,如果當(dāng)前焦點是在自己期望的控件上
{
CQQ_chart_clientDlg::OnBnClickedBtnSend();//添加自己的處理代碼
}
return TRUE;
}
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE)
return TRUE;
return CDialog::PreTranslateMessage(pMsg);
}
該代碼在VS2010中的MFC程序測試通過,完全可以實現(xiàn),紅色的代碼是可以根據(jù)自己的實際情況修改的。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。