基於對話框MFC按Enter鍵或者Ese退出的解決方法
今天在用VC++6.0寫數據庫軟件時。偶然發現單擊回車鍵enter時,程序會突然退出。並且窗口開始時的默認確定按鈕已經被我刪除了,所以必要的措施必然做出,VC MFC 屏蔽ESC和ENTER鍵關閉對話框
解決途徑:
在你的C...Dlg.h文件中添加重載函數PreTranslateMessage(MSG* pMsg)
具體代碼
protected:
virtual BOOL PreTranslateMessage(MSG* pMsg);
// 屏蔽客戶輸入esc鍵或enter鍵退出程序
BOOL CSQLDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加專用代碼和/或調用基類
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE)// 屏蔽esc鍵
{
return TRUE;// 不作任何操作
}
if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)// 屏蔽enter鍵
{
return TRUE;// 不作任何處理
}
return CDialog::PreTranslateMessage(pMsg);
}
完美解決問題