在网上搜索了关于消除对话框ESC键响应的方式,有下面2种:
一.重写PreTranslateMessage()函数
我写了个对话框CChatDlg,添加下列代码:
BOOL CChatDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE)
{
return TRUE;
}
return CDialogEx::PreTranslateMessage(pMsg);
}
二.重写OnCancel()
void CChatDlg::OnCancel()
{
// TODO: 在此添加专用代码和/或调用基类
//CDialogEx::OnCancel(); //注释该段消除聊天室对话框ESC键响应
}
个人体会:对于这两种方式,哪种更好不清楚,求大神指教