Vorwärts wird nunmal seit einer Weile eine "fließende" Bewegung generiert.
Rückwärts geht es meist sofort.
Also im Prinzip braucht man Position nur höher stellen und dann wieder zurück gehen.
Delphi-Quellcode:
xxx.Position := x + 1;
xxx.Position := x;
oder
Delphi-Quellcode:
xxx.Position := xxx.Max;
xxx.Position := x;
oder
man ändert eben den Maximalwert, welches auch ein sofortiges Neuzeichnen an der gewollten Stelle auslöst.
Achtung: In Delphi hat man tatsächlich inzwischen ein paar Vista-Erweiterungen in den
VCL-Controls nachgerüstet. (so tot ist die
VCL also doch nicht)
Man muß dort also
TProgressBar.SmoothReverse auf False stehen lassen, sonst geht der Rückwätstrick nicht mehr.
https://msdn.microsoft.com/en-us/lib.../bb760820.aspx
windows progressbar disable animation