MFC,想要在对话框中用进度条显示按下按钮后按钮对应函数执行的进度,并用静态编辑框输出,具体怎么做?

 我来答
水晶扇
2012-11-26 · TA获得超过1536个赞
知道大有可为答主
回答量:837
采纳率:100%
帮助的人:1106万
展开全部
★首先,我要确定你是单线程还是多线程。
☆单线程是指,你按下按钮后,是由主线程(没有开新线程)在执行对应的函数。如果那个函数是包含循环的,是一个不断计算的函数,那么,很抱歉,你的窗口会直接没响应,就算你用进度条输出进度也不能显示,所以没意义。
☆多线程是指,你按下按钮后,启动一个新线程来进行那个函数调用,主线程立马返回。这样是正确的做法。那么这种情况就是一个线程间通信的问题。我可以告诉你怎么做。
★最简单的做法是用一个两个线程都能访问的变量(全局变量或者堆上的变量,或者静态变量等),计算线程不断的把进度写入到那个变量中;主线程在开启分线程以后,设置一个定时器,每隔1秒(或者更少时间),将那个变量的值显示到"静态编辑框"和"进度条"。
★如果对精度要求很高,那么就存在线程同步问题,需要使用互斥量、临界区等来做线程同步。对精度要求不高的应用就没必要了。
wanglei860313
2012-11-28
知道答主
回答量:29
采纳率:0%
帮助的人:9.9万
展开全部
按钮事件里启动线程,在线程里做相应的处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangjq1126
2012-11-27 · 贡献了超过193个回答
知道答主
回答量:193
采纳率:0%
帮助的人:13.2万
展开全部
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式