我在VC ++中创建了一个进度条。
但是这个进度条没有显示出逐渐增加。它在舞台上来回跳舞。
myCtrl.Create( WS_CHILD | WS_VISIBLE, CRect (100,140,300,170), this, 1 );
myCtrl.SetRange(0,100);
myCtrl.SetStep(2);
myCtrl.SetPos(0);
for(int i=0;i<10000;i++)
{
myCtrl.StepIt();
}
请告诉我如何显示进度条的逐渐增加
答案 0 :(得分:0)
不是答案,只是领导:
在一个线程中做类似的事情:
if (round(100.0 * file.bytesLoaded / (double)file.totalBytes) > myCtrl.Getpos()) {
myCtrl.StepIt();
myCtrl.UpdateWindow();
}
Thread.Sleep(100);
答案 1 :(得分:0)
你这样做的方式,它会转过身来。
如果您知道将要采取的步骤数量,则使用StepIt,因此它将在结束时使用它们。
另一种方法是使用OffsetPos。假设您将范围设置为文件和OffsetPos的字节数到已处理的字节数。由于这些预计会很大,一个改进的解决方案可以计算百分比,并使用它,保持0-100范围。
好文档here和相邻页面。