📄 subject_44511.htm
字号:
<p>
序号:44511 发表者:老朽 发表日期:2003-06-20 16:46:34
<br>主题:请问如何中断循环?
<br>内容:我60多岁退休后才学VC,请别见笑。<BR>我做了一个数据处理程序,用地点、年月等循环处理。想用一个热键(如ESC键)中断循环,我用 WM_CHAR 消息的 OnChar() 函数处理,但该函数直到循环终止后才响应,不能中断循环。怎样才能中断循环?请指教,谢谢。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:counter-bug 回复日期:2003-06-20 17:38:12
<br>内容:我想要用到多线程了,即在启动一个线程来做循环(用AfxBeginThread),而主线程来响应按键消息。<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>
回复者:lijb 回复日期:2003-06-20 17:52:47
<br>内容:用多线程,即在启动一个线程来做循环(用AfxBeginThread),在循环中加上信号灯,而主线程来响应按键消息来控制信号灯。<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-06-20 19:18:19
<br>内容:实际上采用OnTimer就可以了,消息循环比较简单。<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-06-20 20:12:57
<br>内容:OnTimer负责数据处理,不过如果这些数据比较多,则需要分批处理。<BR><BR>主窗口负责检测Esc按键,当发现该按键被按下时,终止Timer
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:michael 回复日期:2003-06-20 20:24:04
<br>内容:自己在加以消息循环泵,拦截ESC消息。<BR>把这个放在每次循环的头部或者尾部就可以了。<BR> if (::PeekMessage(&msg, m_hWnd, WM_KEYFIRST,WM_KEYLAST, PM_REMOVE))<BR> {<BR> //退出之前的操作 <BR> }<BR>if (msg.message == WM_KEYDOWN && msg.wParam == VK_ESCAPE) return;// <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>
回复者:michael 回复日期:2003-06-20 20:26:41
<br>内容:VCKBASE上有一篇文章就是讲这个的。<BR>http://www.vckbase.com/document/viewdoc.asp?id=197
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Justin Le 回复日期:2003-06-21 02:40:15
<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-06-21 18:38:20
<br>内容:问题解决了,谢谢大家!我没有想到这么快就得到了这么多朋友的帮助。特别要感谢michael先生,不仅提供了方法,还推荐了文章。其它朋提供的如OnTimer方法,我还没有试,我想也可以实现。关于多线程方法,很抱歉,因水平有限我不会用,但是我还是要谢谢大家。谢谢!
<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-06-21 21:15:45
<br>内容: 不客气,希望您能通过VCHelp成为VC高手。您是我们这些晚辈的榜样,向您学习。
<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 + -