📄 subject_21460.htm
字号:
<p>
序号:21460 发表者:苦闷人 发表日期:2002-11-17 20:23:13
<br>主题:return的作用
<br>内容:我建立一个对话框,当回车的时候,从第一个编辑框跳到第二个编辑框,代码如下:<BR>BOOL CMyDlg::PreTranslateMessage(MSG* pMsg) <BR>{ if(pMsg->message==WM_KEYDOWN&&pMsg->wParam == VK_RETURN)<BR> {<BR> CEdit* m_secondEdit=(CEdit*)GetDlgItem(IDC_EDIT2);<BR> m_secondEdit->SetFocus();<BR> return TRUE;<BR> }<BR> 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 + -