更改 TProgressBar 的视觉步长?

Change visual step size of TProgressBar?

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

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

一个间隔为 1000 毫秒的计时器在表单启动时启动,每次计时器滴答时进度条都会步进。 60 秒后,条形图几乎满了(见图,调试标签显示经过的时间)但条形图中只有 ~19.5 个块,而不是我预期的 60 个。这意味着你大约每 3 秒只能看到一个步骤。

我能做些什么吗? None 设计器中公开的属性似乎有所帮助。如果这解决了问题,我很乐意向控件发送消息。例如,我在其他地方使用这段代码在运行时更改进度条的颜色:

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

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