Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Vista: Verzögerte TProgressBar? (https://www.delphipraxis.net/87875-vista-verzoegerte-tprogressbar.html)

hitzi 15. Jul 2009 13:27

Re: Vista: Verzögerte TProgressBar?
 
Auch von mir danke. Dachte immer das liegt an mir :D

turboPASCAL 15. Jul 2009 13:38

Re: Vista: Verzögerte TProgressBar?
 
Eigentlich war mir dieses "Feature" vor einiger Zeit schon aufgefallen und wollte mal fragen.
Habs aber vergessen. ;)

Ich hatte bei MS schon mal etwas zu dem Verhalten der ProgressBar gesuch, wurde aber nicht fündig.
Mal sehen was Windows 7 dazu sagt.

olaf43 27. Aug 2016 09:17

AW: Vista: Verzögerte TProgressBar?
 
Unter Windows 10 tritt das Problem genauso auf. Ich benutze deshalb den Progressbar nicht mehr, sondern ein tShape Objekt in Rectangle-Form und passender Brush-Farbe, dessen width ich dem anzuzeigenden Fortschritt anpasse.

jaenicke 27. Aug 2016 12:21

AW: Vista: Verzögerte TProgressBar?
 
Viel sinnvoller ist einfach den Maximalwert aus fest gesetzter Position und gewünschter Position zu berechnen. Ich setze z.B. Position auf 100 und will 1%, dann setze ich Maximum auf 10000. Dann will ich 20%, setze also Maximum auf 500.

Diese Änderung passiert ohne die Verzögerung.

Allerdings ist das Feature durchaus hilfreich, wenn man selbst keine Glättung des Verlaufs durchführt...

himitsu 28. Aug 2016 00:32

AW: Vista: Verzögerte TProgressBar?
 
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 Delphi-Referenz durchsuchenTProgressBar.SmoothReverse auf False stehen lassen, sonst geht der Rückwätstrick nicht mehr.
https://msdn.microsoft.com/en-us/lib.../bb760820.aspx


Bei Google suchenwindows progressbar disable animation


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:32 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz