⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_45004.htm

📁 vc
💻 HTM
字号:
<p>
序号:45004 发表者:极品飞车 发表日期:2003-06-25 15:33:33
<br>主题:为什么在对话框窗口中一按回车键或者ESC键就关闭窗口呢
<br>内容:很奇怪,在对话框窗口中没有default按钮,甚至没有按钮,但是一按回车键就关闭窗口,请问如何避免这个问题。<BR><BR>可以在PreTranslateMessage中处理,屏蔽掉回车键。但是我还想要其他控件接受回车键和ESC键,但是先处理了关闭窗口,其他控件没有接收到这个事件。有没有其他方法呢。<BR><BR>多谢!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:CDMA2000 回复日期:2003-06-25 15:55:15
<br>内容:这是因为CDialog中对应回车和ESC有2个虚拟函数,分别是OnOK()和<BR>OnCancel(),这俩个函数都可是窗口退出,<BR>如果么避免窗口退出,你可以在你的对话框类中重载这两个函数<BR>比如:<BR>void CYourDialog::OnOK()<BR>{<BR>&nbsp;&nbsp;return;//直接返回就不退出窗口<BR>&nbsp;&nbsp;//CDialog::OnOK();//调用基类的OnOK就使窗口退出<BR>}<BR><BR>void CYourDialog::OnCancel()<BR>{<BR>&nbsp;&nbsp;return;//直接返回就不退出窗口<BR>&nbsp;&nbsp;//CDialog::OnCancel();//调用基类的OnCancel就使窗口退出<BR>}<BR><BR> 但这样会屏蔽系统关闭按钮<BR>所以你又可以添加对WM_CLOSE消息的处理函数OnClose()来解决<BR>void CYourDialog::OnClose()<BR>{<BR>&nbsp;&nbsp; CDialog::OnCancel();//调用基类的OnCancel就使窗口退出<BR>}<BR>这样关闭按钮不会被屏蔽掉<BR><BR><BR>2003-6-25 16:03:24

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -