MFC 解决默认回车或ESC会关闭对话框的办法

MFC 解决默认回车或ESC会关闭对话框的办法
一种方法:解决方法是在CDialog::PreTranslateMessage() 的重载函数中将ESC和回车按键的消息处理掉.

BOOL CYourDlg::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);  
}  

另一种方法: 一开始的cancel按扭不要去掉,双击它进入命令OnCancel(), 把OnCancel()去掉
直接返回,这就没问题了

如果你已经把按钮删掉,那就得手工加这个命令,但效果一样

你可能感兴趣的:(MFC 解决默认回车或ESC会关闭对话框的办法)