我注意到,我刚刚用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/