BOOL CMyFiveDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam==VK_ESCAPE)
return 0;
}
return CDialog::PreTranslateMessage(pMsg);
}
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_KEYDOWN)
{
if(pMsg->wParam==VK_ESCAPE)
return 0;
}
return CDialog::PreTranslateMessage(pMsg);
}
CDialog::OnCancel()
{
return;
}
http://www.csdn.net/Expert/topic/447/447713.shtm
这样感觉会很爽,呵呵……
并且DoModal的返回值为IDCANCEL。解决方法:
CMyDialog::OnCancel()
{
return;
}
同时更改Cancel按钮的ID值,如IDC_MYCANCEL。然后在ClassWizard中建立
消息映射,如OnClickedMyCancel();
CMyDialog::OnClickedMyCancel()
{
return CDialog::OnCancel;
}
void CPipe4Dlg::OnCancel()
{
// TODO: Add extra cleanup here
// CDialog::OnCancel();
}
关闭时用 CDialog::OnCancel();
有关详细内容,请见vc++技术内幕2.0 王国印译