阅读:3726回复:5
关于对MFC中进度条process的疑问,请高手帮忙
最近在一个程序中,加入进度条,并用setpos()来设定进度条的的位置。但发现在程序执行的过程中,不能显示setpos()设定的的进度条位置,程序执行完,进度条一下就跑到最后。而如果在程序中加入MessageBox()后,在弹出消息框后就能显示setpos()设定的进度条位置,不知道是什么原因,有高手知道吗?请不吝赐教,谢谢!
|
|
沙发#
发布于:2007-03-20 23:32
刷新......
|
|
|
板凳#
发布于:2007-03-22 20:44
谢谢。是用什么刷新啊?用输出 变量- >控制项 吗,感觉也没什么效果,不知道怎么回事
|
|
地板#
发布于:2007-03-23 22:54
问题很可能是因为:你的主窗口的消息响应也是在主线程里啊,如果在当前主线程内做连续的SetPos,等你做完最后一次SetPos,主线程才能有更新进度条的权限。如果想要验证的话,你开个TIMER,每次定时器到就SetPos一次,看看效果如何。建议你如果在一个函数内部做连续的SetPos,你还是开个线程调这个函数吧。
|
|
地下室#
发布于:2007-03-24 09:15
谢谢ytwei,可能确实是这个原因,但我用setpos()并不是相等时间间隔啊,而且不知道为加了MessageBox在弹出消息框后,就能显示当前setpos()进度的位置了。我再试试看吧
|
|
5楼#
发布于:2007-04-04 13:35
开个线程就没有这个问题了
|
|