我有一个带有TProgressBar的表单,设置如下:

myProgressBar.Step := 1;
myProgressBar.Min := 0;
myProgressBar.Max := 60;
myProgressBar.Position := 0;


在窗体启动时启动一个间隔为1000毫秒的计时器,每个计时器在进度条上步进。 60 s之后,该条几乎已满(请参见图像,带有显示调试时间的调试标签),但是条中只有〜19.5个块,而不是我期望的60块。这意味着您每3 s只看到一个步骤。

delphi - 更改TProgressBar的可视步长?-LMLPHP

有什么我可以做的吗?设计器中没有任何公开的属性似乎无济于事。如果可以解决问题,我很乐意向控件发送消息。例如,我在其他地方使用此代码在运行时更改进度栏的颜色:

SendMessage(pbBin1.Handle, PBM_SETBARCOLOR, 0, clLime);

最佳答案

进度条是由系统绘制的,您无需选择块大小。相反,您可以使用平滑的进度栏。将Smooth属性设置为True

07-27 17:48