MFC dlg窗口按回车(Enter)键和ESC键会退出解决方法
按回车(Enter)键和ESC键会退出解决方法
但是这种退出方式不会调用OnClose函数
所以对于我在OnClose函数里面写的文件保存的代码造成了影响--文件不保存了.
解决方法,重写dlg类的PreTranslateMessage()方法
第一步:添加虚方法
第二步.选择PreTranslateMessage()方法,重写
代码如下:
//屏蔽ESC和Enter键 BOOL dlg类名::PreTranslateMessage(MSG* pMsg) { // TODO: 在此添加专用代码和/或调用基类 if(pMsg->message == WM_KEYDOWN) { switch(pMsg->wParam) { case VK_RETURN: return TRUE; case VK_ESCAPE: return TRUE; } } return CDialog::PreTranslateMessage(pMsg); }
参考自:
http://www.cnblogs.com/chenchenluo/archive/2012/08/03/2620991.html