void CRtyDlg::OnOK() { // TODO: Add extra validation here 注释以下代码 //CDialog::OnOK(); } void CRtyDlg::OnCancel() { // TODO: Add extra cleanup here
//CDialog::OnCancel(); }
将OK按钮的default button风格去掉,即可 void CRtyDlg::OnOK() { // TODO: Add extra validation here 注释以下代码 //CDialog::OnOK(); } void CRtyDlg::OnCancel() { // TODO: Add extra cleanup here
//CDialog::OnCancel(); }
BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if (pMsg->message == WM_KEYDOWN && (pMsg->wParam == VK_ESCAPE || pMsg->wParam == VK_RETURN)) return TRUE;
void CRtyDlg::OnOK()
{
// TODO: Add extra validation here
注释以下代码
//CDialog::OnOK();
}
void CRtyDlg::OnCancel()
{
// TODO: Add extra cleanup here
//CDialog::OnCancel();
}
或CDialog::OnCancel()。
不这样写,你的对话框就关不了。
if(pMsg->message == WM_KEYDOWN && pMsg->lParam==13)
return;
Dialog默认情况下,按ESC与Enter键后退出,如何禁掉这种效果??
{
// TODO: Add extra validation here
注释以下代码
//CDialog::OnOK();
}
void CRtyDlg::OnCancel()
{
// TODO: Add extra cleanup here
//CDialog::OnCancel();
}
void CRtyDlg::OnOK()
{
// TODO: Add extra validation here
注释以下代码
//CDialog::OnOK();
}
void CRtyDlg::OnCancel()
{
// TODO: Add extra cleanup here
//CDialog::OnCancel();
}
{
// TODO: Add your specialized code here and/or call the base class
if (pMsg->message == WM_KEYDOWN && (pMsg->wParam == VK_ESCAPE || pMsg->wParam == VK_RETURN))
return TRUE;
return CDialog::PreTranslateMessage(pMsg);
}
还是去掉OK按钮的默认属性去掉吧,因为OK具有默认属性,当按Enter键时,就调用OnOK()了。
如果时Esc,获Enter,直接返回,也可以。
简单的办法是将其它任一个按钮设置为Default