处理方法一 会有个问题就是把系统菜单上的关闭事件也屏蔽掉了。
:去除OnOK和OnCancel的默认处理
一. 去掉OK和CANCEL按钮,然后在.h中的下面位置加入
// Generated message map functions
virtual void OnOK();
virtual void OnCancel();
DECLARE_MESSAGE_MAP()
二在.cpp中加入对应的OnOK和OnCancel处理
void CParamSetDlg::OnOK()
{
注意不加处理
}
void CParamSetDlg::OnCancel()
{
注意不加处理
}
方法二 推荐使用这种方法
直接在重载的PreTranslateMessage函数中屏蔽回车和ESC的消息,和以上方法大同小异:
BOOL CxxxDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE) return TRUE;
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN) return TRUE;
else
return CDialog::PreTranslateMessage(pMsg);
}