按下Esc键,对话框关闭,怎样才能使按下Esc后,它不消失
1个回答
展开全部
其实按下ESC对话框会关闭,就是因为你的对话框中有一个按钮的ID为IDCANCEL,按下ESC按钮默认就是相当于IDCANCEL按钮被按下,而它会导致CDialog::OnCancel()被调用(在程序里你看不到OnCancel()函数,除非显式映射该按钮按下消息),所以如果想避免这种情况发生,就应该屏蔽OnCancel()函数,防止在YourDialog::OnCancel()中调用CDialog::OnCancel()。具体做法如下:先找到对话框中ID为IDCANCEL的按钮(如果没有则自己添加一个临时的按钮,把它的ID改为IDCANCEL),然后在ClassWizard中显式映射按钮被按下的消息,这样ClassWizard会为你做出一个YourDialog::OnCancel()的框架,在该函数体内,删除CDialog::OnCancel()语句,(就是让它成为一个空函数)这样即可。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询