更改 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
.
我有一个 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
.