小弟刚学VC不久,发现我做的所有对话框都是一按ESC键就退出了,不知道怎么办才,
请GGJJ们帮帮忙.这个怎么解决
在OnCancel中 CDialog::OnCancel()之前增加一句 return;
重载OnCancel函数,里面什么也不做
BOOL CTest_2003_2_23Dlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE)
{
return 0;
}
return CDialog::PreTranslateMessage(pMsg);
}
在OnCancel中什么都不做,删除CDialog::OnCancel()
重载OnCancel函数
还是不要删除CDialog::OnCancel()把
Leoparder(狩猎者)说的很对啊,你只要重载PreTranslateMessage函数屏蔽掉键盘的ESC就可以了,因为你如果了解消息的话,就知道对对话框的所有操作都是用消息传达的,而这个消息都是通过PreTranslateMessage分发出去,所有只要处理PreTranslateMessage就可以了!
OnCencel里直接return
重载OnCancel函数
OnCancel中作无用功
重载OnCancel()在其中直接返回.
在要退出的地方加入CDialog::OnOK()即可。
BOOL CTest_2003_2_23Dlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE)
{
return 0;
}
return CDialog::PreTranslateMessage(pMsg);
}
是标准的方法