对话框中屏蔽回车键和ESC键
2011-04-10 14:34
337 查看
对话框中屏蔽回车键和ESC键
基于对话框的应用程序中,对于回车键和ESC键,在工程建立的时候就已经有了响应函数,分别是:
void CXXXDialog::OnOK();和void CXXXDialog::OnCancel()
这两个函数中,都只有一句代码,分别是CDialog::OnOK();和CDialog::OnCancel
这会导致一个问题:按下回车键和ESC键之后会令对话框析构并消失,所不同的是按下回车键后DoModal
返回的是IDOK,按下ESC键盘之后DoModal返回的是IDCANCEL
但是大部分时候我们并不希望按下回车键和ESC键之后使对话框退出,所以应该屏蔽掉这两种情况,做法如下:
首先在对话框的.h文件中加入如下内容:
virtual void OnOK();
virtual void OnCancel();
然后在cpp文件中写出这两个函数的代码:
void CXXXDialog::OnOK()
{
//什么都不用做
//CDialog::OnOK();
}
void CXXXDialog::OnCancel()
{
//什么都不用做
//CDialog::OnCancel();
}
然后可以自己在对话框上摆上“确定”、“取消”这样的按钮,然后在这些按钮的响应函数中写上CDialog::OnOK这样的代码用来退出对话框
注意:如果对话框放在了一个标签页中,那么一定要将回车键和ESC键屏蔽掉,否则在标签页中按一下回车键或者是ESC键,就会出现该页内容
消失的情况。
基于对话框的应用程序中,对于回车键和ESC键,在工程建立的时候就已经有了响应函数,分别是:
void CXXXDialog::OnOK();和void CXXXDialog::OnCancel()
这两个函数中,都只有一句代码,分别是CDialog::OnOK();和CDialog::OnCancel
这会导致一个问题:按下回车键和ESC键之后会令对话框析构并消失,所不同的是按下回车键后DoModal
返回的是IDOK,按下ESC键盘之后DoModal返回的是IDCANCEL
但是大部分时候我们并不希望按下回车键和ESC键之后使对话框退出,所以应该屏蔽掉这两种情况,做法如下:
首先在对话框的.h文件中加入如下内容:
virtual void OnOK();
virtual void OnCancel();
然后在cpp文件中写出这两个函数的代码:
void CXXXDialog::OnOK()
{
//什么都不用做
//CDialog::OnOK();
}
void CXXXDialog::OnCancel()
{
//什么都不用做
//CDialog::OnCancel();
}
然后可以自己在对话框上摆上“确定”、“取消”这样的按钮,然后在这些按钮的响应函数中写上CDialog::OnOK这样的代码用来退出对话框
注意:如果对话框放在了一个标签页中,那么一定要将回车键和ESC键屏蔽掉,否则在标签页中按一下回车键或者是ESC键,就会出现该页内容
消失的情况。
相关文章推荐
- 屏蔽资源对话框回车和ESC键退出
- VC 对话框屏蔽ESC 和回车键 默认结束对话框
- MFC中屏蔽ESC和回车关闭对话框
- MFC中屏蔽ESC和回车关闭对话框
- MFC对话框程序屏蔽回车与ESC键
- MFC对话框程序屏蔽回车与ESC键
- VC里基于对话框的程序屏蔽回车键和ESC自动退出程序
- 【转】关闭对话框,OnClose和OnCancel MFC中屏蔽ESC和回车关闭对话框
- 屏蔽对话框回车和ESC键,防止对话框意外关闭。
- MFC中屏蔽ESC和回车关闭对话框
- MFC中屏蔽ESC和回车关闭对话框
- VC MFC 屏蔽ESC和ENTER键关闭对话框
- MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法
- 教你如何屏蔽掉esc而不退出对话框。escape、oncancel不退出对话框
- 如何让VC对话框不接受回车键与ESC键
- vc中对话框如何屏蔽ESC和ENTER键
- MFC对话框程序屏蔽ESC和ENTER键退出,完美解决方案
- MFC对话框按下回车和Esc键关闭的解决
- 在基于对话框程序中按下Esc键不会关闭程序按下回车键不会关闭程序
- MFC中回车,空格,ESC,F1键盘操作对对话框的影响处理