Gibt nen kleinen Trick, der die Animation verhindert - einfach eine Position weiter und dann zurück.
Edit: doh, ganz den Kommentar von Daniel übersehen, der erwähnte das ja schon
Entweder mit nem kleinen Helper, oder per Interposer Klasse oder irgendwie anders.
Delphi-Quellcode:
type
TProgressBarHelper = class helper for TProgressBar
private
function GetPosition: Integer;
procedure SetPosition(const Value: Integer);
public
procedure StepIt;
property Position: Integer read GetPosition write SetPosition;
end;
{ TProgressBarHelper }
function TProgressBarHelper.GetPosition: Integer;
begin
Result := inherited Position;
end;
procedure TProgressBarHelper.SetPosition(const Value: Integer);
begin
if Value <> inherited Position then
begin
if Value >= Max then
begin
Max := Max + 1;
inherited Position := Max;
Max := Max - 1;
end
else
begin
inherited Position := Value + 1;
inherited Position := Value;
end;
end;
end;
procedure TProgressBarHelper.StepIt;
begin
Position := Position + Step;
end;