Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ProgressBar für Perfektionisten (https://www.delphipraxis.net/210695-progressbar-fuer-perfektionisten.html)

NicoleWagner 28. Mai 2022 19:30

ProgressBar für Perfektionisten
 
In eine Anwendung habe ich einen TProgressBar.
Ich benutze ich für einen Coundtown. D.h. ist starte ihn grün und es wird dann im Verlauf weiß.
///wer hier die Themen mitlas, kombiniert: mein TTimer funktioniert schon (danke der Gemeinschaft!)

Dieer ProgressBar hat eine Farbanimation: Die Farbe läuft von links nach rechts.
Manche sagen, das wäre doch ganz egal, ich finde es jedoch seltsam:
Die Animation läuft von links nach rechts und die Bewegung läuft von rechts nach links.

Lässt sich die Animation abschalten?

(Hinweis: auf Marque zu schalten klappte nicht, da blinkt er)

jaenicke 28. Mai 2022 20:22

AW: ProgressBar für Perfektionisten
 
Die Animation lässt sich so einfach nicht abschalten (selbst zeichnen oder Themes für das Control deaktivieren wären zwei der Möglichkeiten). Microsoft hat in den UI Guidelines klar festgelegt, dass man für solche Zwecke keine Fortschrittsanzeige nutzen soll.

Delphi hat auch eine TGauge. Die könntest du z.B. verwenden.

Ich hatte vor über 10 Jahren mal eigene Controls geschrieben, u.a. eine Multi-Progressbar, die man auch hier nutzen könnte:
https://entwickler-ecke.de/viewtopic...=720432#720432
Der Quelltext ist allerdings uralt, aber es gibt ja genug solcher Komponenten.

Oder du drehst das ganze einfach um und zeigst nicht die verbliebene Zeit, sondern die abgelaufene Zeit an, so dass du die Fortschrittsanzeige ganz normal nutzen könntest.

himitsu 29. Mai 2022 07:51

AW: ProgressBar für Perfektionisten
 
Jupp, Rückwärts (nach Links) geht es (aktuell) ohne Animation.

Man kann also z.B. um 1 mehr setzen und dann sofort auf den gewünschten Wert ... dann geht es einen Schritt zurück und wird somit sofort ohne Anumation dargestellt.

TurboMagic 29. Mai 2022 08:44

AW: ProgressBar für Perfektionisten
 
Evtl. gibt's hier auch was brauchbares zu dem Thema:
https://github.com/project-jedi/jvcl

Benötigt aber die Installation von:
https://github.com/project-jedi/jcl

BerndS 29. Mai 2022 14:53

AW: ProgressBar für Perfektionisten
 
Es ist sicher Geschmackssache, aber auch bei einem Countdown würde ich den Fortschrittsbalken von links nach rechts bewegen.

venice2 29. Mai 2022 18:45

AW: ProgressBar für Perfektionisten
 
Eine Progressbar sollte von links nach rechts laufen.
Meine Meinung.

himitsu 29. Mai 2022 20:08

AW: ProgressBar für Perfektionisten
 
Och, ein rückwärtszählender Countdown (runterzählende Zeit), darf auch mal andersrum sein
auch wenn man dort den "Fortschritt" auch mal als Rückschritt ansehn könnte.

PS: Delphi-Referenz durchsuchenTGauge gäbe es noch, aber das ist eigentlich mehr eine häßliche jahrzehnte alte Demokomponente, die niemals weiterentwickelt wurde.


Schade, dass es nicht so einfach ist, die "erweiterte" Fortschrittsgrafik des Explorers nutzen zu können.
Auch der TMediaPlayer bietet nur die uralten Dateioperations-Gafiken an.

jaenicke 30. Mai 2022 11:04

AW: ProgressBar für Perfektionisten
 
Zitat:

Zitat von himitsu (Beitrag 1506458)
Jupp, Rückwärts (nach Links) geht es (aktuell) ohne Animation.

Du meinst die Glättung der Bewegung der Fortschrittsanzeige, nicht die Animation, die immer wieder von links nach rechts über die Leiste läuft.

himitsu 30. Mai 2022 12:01

AW: ProgressBar für Perfektionisten
 
Joar, genau das, den "animierten" Bewegungspfad des Endes der Bar.

NicoleWagner 31. Mai 2022 08:06

AW: ProgressBar für Perfektionisten
 
Danke für alle Antworten.
Mein Delphi (XE3) zeigt mir leider kein "TGauge".

Wäre es Web, dann würde ich Folgendes tun: Ich würde eine Grafik von ein paar grünen Pixeln erzeugen und diese Grafik über die ganze Breite aufspannend also zerren. Geht das bei Delphi auch?
D.h. ich schreibe nicht: ProgressBar1.Position:=ProgressBar1.Position - 1;
sondern: Grafik1.Width:=Grafik1.Width - 1;

Spricht da von der Performance her etwas dagegen? Denn vermutlich muss ich da alle Sekunden (auf die mein Timer eingestellt ist) ein "Refresh" nachschieben.
Und wenn es Euch günstig erscheint, welche Komponente verwende ich dafür am Besten?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 Uhr.
Seite 1 von 3  1 23      

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