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

📄 subject_61215.htm

📁 vc
💻 HTM
字号:
<p>
序号:61215 发表者:wafer 发表日期:2003-11-18 14:34:08
<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>回复者:michael 回复日期:2003-11-18 14:39:02
<br>内容:&nbsp;&nbsp; 用钩子钩,或者不响应鼠标键盘的函数
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:wafer 回复日期:2003-11-18 14:45:34
<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>
回复者:浪际天涯 回复日期:2003-11-18 15:18:56
<br>内容:不用钩子也行,<BR>重载PreTranslateMessage函数<BR>BOOL CMyDlg::PreTranslateMessage(MSG* pMsg) <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your specialized code here and/or call the base class<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(pMsg-&gt;message==WM_LBUTTONDOWN ||pMsg-&gt;message==WM_LBUTTONUP||..)//这里列举出鼠标和键盘的所有消息<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return CScrollView::PreTranslateMessage(pMsg);<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>
回复者:wafer 回复日期:2003-11-18 16:19:53
<br>内容:浪迹天涯的方法试了,不行。因为,我是要暂时不响应这些消息,而不是一直都不响应。<BR><BR>我用了EnableWindow()函数来Enable 和 Disable控件。先Disable后再次Enable,发现原来拥有的TabStop属性就没了。不知为何!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:michael 回复日期:2003-11-18 16:30:29
<br>内容:&nbsp;&nbsp; 这好办,设一个信号量。比如叫m_Fire;不响应时把它设为FALSE;<BR>在PreTranslateMessage函数得最前面加上<BR>if(FALSE == m_Fire)<BR> return FALSE;<BR><BR>&nbsp;&nbsp; if(pMsg-&gt;message==WM_LBUTTONDOWN ||pMsg-&gt;message==WM_LBUTTONUP||..)//这里列举出鼠标和键盘的所有消息<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<BR>这几行就别加了。<BR>需要响应时把m_Fire设为TRUE;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:wafer 回复日期:2003-11-18 16:39:38
<br>内容:to michael,<BR><BR>此法(信号量)我也试过,好像也不行!<BR><BR>欧,不过我是和WM_LBUTTONDOWN 消息一起结合使用的,我现在就考虑一下你的方法!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:wafer 回复日期:2003-11-18 17:47:35
<br>内容:哎,最后靠弹一个MessageBox解决了所有的问题,尽管这样做会在操作上麻烦一点(多按一次Enter键),但不知道为什么!<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 + -