📄 subject_60658.htm
字号:
<p>
序号:60658 发表者:toucc 发表日期:2003-11-14 15:46:45
<br>主题:怎么在dialog中拦截esc键
<br>内容:比如在windows中的计算器里按esc,那么会清除数据窗口但并不退出.<BR>而我在拦截OnCancel()后,在其中写了清除数据的操作.但是这样做后的后果是按退出和窗口右上角的退出(X)按钮也不能退出.<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>回复者:浪际天涯 回复日期:2003-11-14 17:39:54
<br>内容:重载WM_CLOSE消息,在<BR>CDialog::OnClose();后加上<BR>CDialog::OnCancel();
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:撒达姆的大表弟 回复日期:2003-11-14 17:44:32
<br>内容:屏蔽ESC和简单,可你又想点右上角的叉子退出,又想按ESC得到某些功能。那我觉得用钩子比较好了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:撒达姆的大表弟 回复日期:2003-11-14 17:45:39
<br>内容:补充:按右上角的叉子本身就是调用CDialog::OnCancel();
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2003-11-14 17:48:51
<br>内容:右上角的叉子调用的是OnClose();
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:toucc 回复日期:2003-11-14 20:05:35
<br>内容:多谢浪际天涯<BR>确实是<BR>重载 ON_WM_CLOSE()<BR>右上角的叉子是 CDialog::OnClose()<BR>按esc是 CDialog::OnCancel()<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:120 回复日期:2003-11-14 20:38:59
<br>内容:这样就行<BR>先在类向导中添加PreTranslateMessage<BR>后填入:<BR>BOOL CMy2Dlg::PreTranslateMessage(MSG* pMsg) <BR>{if(pMsg->message==WM_KEYDOWN)<BR><BR>{ int key=(int)pMsg->wParam;<BR> if(key==VK_ESCAPE)<BR> {m_str="";<BR> UpdateData(false);<BR> return true;<BR> }<BR> <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 + -