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

📄 subject_21460.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:21460 发表者:苦闷人 发表日期:2002-11-17 20:23:13
<br>主题:return的作用
<br>内容:我建立一个对话框,当回车的时候,从第一个编辑框跳到第二个编辑框,代码如下:<BR>BOOL CMyDlg::PreTranslateMessage(MSG* pMsg) <BR>{&nbsp;&nbsp;&nbsp;&nbsp;if(pMsg-&gt;message==WM_KEYDOWN&amp;&amp;pMsg-&gt;wParam == VK_RETURN)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CEdit* m_secondEdit=(CEdit*)GetDlgItem(IDC_EDIT2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_secondEdit-&gt;SetFocus();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return TRUE;<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;return CDialog::PreTranslateMessage(pMsg);<BR>}<BR>当我删出return TRUE的时候,回车程序退出了,当我删出了return CDialog::PreTranslateMessage(pMsg);执行程序没有任何响应了,return返回的值到底有什么作用.
<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>回复者:俞建军 回复日期:2002-11-17 20:39:33
<br>内容:你重载了这个函数,当回车键按下时,应该由你的程序来处理这个消息,处理完毕后应该返回一个true,告诉系统这个消息处理完了,否则的话,仍由系统自动处理(return CDialog::PreTranslateMessage(pMsg);),而在一个对话框中按回车一般也就是点击“确认”按钮,那程序当然退出。<BR><BR>而return CDialog::PreTranslateMessage(pMsg);绝对不能删除,否则系统就不能处理任何消息了,除了你的回车(事实上恐怕你的回车都无法处理了)。程序当然没有响应。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:凯凯 回复日期:2002-11-17 20:40:58
<br>内容:返回TRUE,表示该消息已经处理了。你删除了这句后。函数会执行到这句才退出return CDialog::PreTranslateMessage(pMsg);,这句是默认的行为,也就是什么都不做。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

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