vc用break跳出for循环,用另一按钮来控制

mfc下先定义了一个全局变量qu,并且在窗口初始化中赋值qu=0在button1下voidCSyDlg::OnButton1(){intk=0;for(inti=1;i<... mfc下先定义了一个全局变量qu,并且在窗口初始化中赋值qu=0
在button1下
void CSyDlg::OnButton1()
{
int k=0;
for(int i=1;i<100;i++)
{
k=k+1;
if (qu==1)
{
break;
}
}
}
想通过button2来使得qu=1从而跳出for循环,
也就是通过另外一个按钮来结束这个循环,可是运行后,根本不响应button2。麻烦各位大侠了!
或者有其他方法吗?给个简单的例子,谢谢
解决的方法呢?
给个简单的例子啊
或者给个其他的方法啊

其实单线程可以解决
只是不用for循环就可以了,1,2楼就是瞎掰,三楼是对的,方法我已经有了,到期我就给三楼最佳了,,哎
展开
 我来答
火驹
2009-09-23 · TA获得超过1447个赞
知道小有建树答主
回答量:6294
采纳率:0%
帮助的人:1713万
展开全部
你点了Button1后,由于是单线程,所以会先执行for循环,直至循环结束。
在for执行期间,其他任何操作都无效。

点击button2,发送单击消息,但由于程序正在执行for循环,无法接收按钮消息,所以只能等到for循环结束才能执行button2.

解决的方法是通过多线程。
BlueWanderer
2009-09-28 · TA获得超过9209个赞
知道大有可为答主
回答量:5673
采纳率:83%
帮助的人:1988万
展开全部
把现在OnButton1的内容放到单独的线程T1里,OnButton1的功能改为启动T1

OnButton2修改一个T1可以访问的变量,T1发现变量改变后跳出。

----

自己什么都不懂还有脸说别人瞎掰... 顺便告诉你 系统生成timer事件是在独立线程里。另外我不明白,我的说法和将来的2楼的说法有什么本质区别。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
7820779
2009-09-23 · TA获得超过330个赞
知道小有建树答主
回答量:390
采纳率:0%
帮助的人:387万
展开全部
设置一个全局变量pu=NULL;
当点击button2后,pu=1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ecba46aab
2009-09-23 · TA获得超过2303个赞
知道大有可为答主
回答量:2477
采纳率:100%
帮助的人:1968万
展开全部
单线程,只能做一件事。你想做什么?
这些事用多线程不值哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式