我注意到,我刚刚用cxProgressBar替换了我的公共进度栏,但是,它没有方法'StepIt'。

我用以下命令替换了StepIt:

progressbar1.Position := progressbar1.Position+1;


我认为这不是最佳选择,因为Progress的执行速度比StepIt慢得多。

为了设置最大值,我获得了将要转换为本地缓存的sql表中的字段总数。

除了常见的ProgressBar之外,我再也没有尝试过其他任何东西,所以才遇到这个问题。

谢谢。

最佳答案

通过在线帮助:http://docwiki.embarcadero.com/VCL/en/ComCtrls.TProgressBar.StepIt

将位置提高Step属性中指定的数量。
调用StepIt方法以通过Step属性的值增加Position的值。如果“步骤”表示进度条跟踪的流程中一个逻辑步骤的大小,请在每个逻辑步骤完成后调用“步骤”。

以下代码可以解决问题。

procedure MyStepIt(NrOfSteps);
var
  Step: integer;
begin
  Step:= Max(1,(ProgressBar1.Max - ProgressBar1.Min) div NrOfSteps);
  ProgressBar1.Position:= Min(ProgressBar1.Max, ProgressBar1.Position + Step);
end;

关于delphi - 将'StepIt'从ProgressBar替换为cxProgressBar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5796541/

10-09 17:37