按下Esc键,对话框关闭,怎样才能使按下Esc后,它不消失

称宛Qv
2013-10-10 · TA获得超过4856个赞
知道小有建树答主
回答量:966
采纳率:0%
帮助的人:2309万
展开全部
其实按下ESC对话框会关闭,就是因为你的对话框中有一个按钮的ID为IDCANCEL,按下ESC按钮默认就是相当于IDCANCEL按钮被按下,而它会导致CDialog::OnCancel()被调用(在程序里你看不到OnCancel()函数,除非显式映射该按钮按下消息),所以如果想避免这种情况发生,就应该屏蔽OnCancel()函数,防止在YourDialog::OnCancel()中调用CDialog::OnCancel()。具体做法如下:先找到对话框中ID为IDCANCEL的按钮(如果没有则自己添加一个临时的按钮,把它的ID改为IDCANCEL),然后在ClassWizard中显式映射按钮被按下的消息,这样ClassWizard会为你做出一个YourDialog::OnCancel()的框架,在该函数体内,删除CDialog::OnCancel()语句,(就是让它成为一个空函数)这样即可。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式