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

📄 subject_66395.htm

📁 vc
💻 HTM
字号:
<p>
序号:66395 发表者:拉拉 发表日期:2003-12-24 11:42:29
<br>主题:怎么在一个按纽响应事件中结束另一个按纽启动的循环
<br>内容:在按纽《开始》中启动一个循环,怎么能用另外一个按纽《停止》来中断这个循环?<BR><BR>P。S。不想用定时器
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:㊣唐山★唐山㊣ 回复日期:2003-12-24 11:45:09
<br>内容:用一个全局变量<BR>当按纽《停止》按下时,给全局变量赋值<BR>在循环里判断全局变量的值<BR>符合条件则break;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:ddfff 回复日期:2003-12-24 11:46:24
<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-12-24 11:59:12
<br>内容:不行哦,我定义了全局变量BOOL stop;<BR>然后在《停止》事件中设置stop = true ;<BR>《开始》的循环里<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(stop) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<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-12-24 14:58:26
<br>内容:应该是可以的啊,方法是设全局变量temp = 0,<BR>然后在开始中判断temp的值是多少再循环。<BR>for(int i = 0;i&lt;10000;i++)<BR>{<BR>&nbsp;&nbsp; if(temp !=0) break;<BR>..........<BR>.........<BR>}<BR>是上面那样不行的吧,<BR>那您将此循环改写为while(temp){}就可以了。<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-12-24 15:54:22
<br>内容:就是不行啊<BR>定义全局变量 bool stop;<BR>我的《开始》响应程序里是这样的<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;while (!stop)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!cf.Read(buf,bufsize))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;bmp.Get((unsigned char*)buf,bufsize);<BR>&nbsp;&nbsp;&nbsp;&nbsp;InvalidateRect(r,false);<BR>&nbsp;&nbsp;&nbsp;&nbsp;UpdateWindow();<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>然后在《停止》响应程序里使 stop = true;<BR><BR>就是不行,就是《停止》按纽的程序还是在循环结束后才得到调用<BR><BR>是不是所谓消息队列的问题,<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-12-24 17:20:02
<br>内容:您的stop有初值吗?没有是不行的啊,
<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>回复者:林建华 回复日期:2003-12-25 14:14:12
<br>内容:在循环前定义<BR>&nbsp;&nbsp;&nbsp;&nbsp;MSG pMsg;<BR>&nbsp;&nbsp;&nbsp;&nbsp;pMsg.hwnd = this-&gt;m_hWnd;<BR>&nbsp;&nbsp;&nbsp;&nbsp;pMsg.lParam = pMsg.wParam = 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;pMsg.message = WM_PAINT;<BR>&nbsp;&nbsp;&nbsp;&nbsp;pMsg.time = 0;<BR><BR>在循环里添加<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PeekMessage(&amp;pMsg, NULL, 0, 0, PM_REMOVE);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TranslateMessage(&amp;pMsg);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DispatchMessage(&amp;pMsg);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<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-12-25 15:55:09
<br>内容:to 有象,我当然有初值为false了!!!<BR><BR><BR><BR>林建华,赞!!!!!!!!!!!!!!!<BR>虽然不是很明白,确实有效!<BR>对于消息分发的函数我不是很了解,<BR>我在看MSDN,你大概介绍一下好吗?谢谢咯~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<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-12-25 17:15:37
<br>内容:还有一个问题应该是类似的<BR><BR>也是循环里,把数值不断赋给对话框上的一个编辑框<BR>也是一样,总是等把循环完成以后,才能发最后一个数过去<BR>怎么办?<BR>我想应该是在循环里加上SendMessage(),把编辑框更新的消息不断发出去吧<BR>是不是应该这么做呢?、<BR>而且,我不知道应该用什么消息参数,WM_???
<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-12-26 12:01:39
<br>内容:用UpdateData就可以了,不需要发消息的<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-12-26 23:04:50
<br>内容:用UpdateData了可是不行<BR>结果把这几句拷进循环,居然就可以了,HOHOHO~~~~~~~~~~~~~~
<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 + -