![]() |
TProgressbar - Farbe definieren
Ich möchte gerne der Einfachheit halber für ein Diagramm (12 Monats-Anzeige) die TProgressbar nutzen.
Vertikal wie erforderlich ist OK, Animation lässt sich ja auch abschalten ... ... aber ich bekomme das mit der gewünschten Farbe zum eingestellten Wert / Postion einfach nicht hin. Die Farbe lässt sich nicht unabhängig vom Wert einstellen. Viel rumgekugelt, aber bisher nix gescheites / funktionierendes / keine Lösung gefunden. Alternative Komponenten ? ... nicht wirklich erwünscht ! Ich möchte gerne möglichst mit "Bordmitteln" arbeiten. ... und: Ja ich weiß: Selber zeichen auf Canvas was zu vermeiden gewünscht ist / wäre ... |
AW: TProgressbar - Farbe definieren
Glaube das funktioniert nur, wenn die Laufzeit-Themes deaktiviert sind. Wenn die Themes aktiviert sind, kann man den Balken z.B. in rot anzeigen mit ProgressBar.State:=pbsError;
Damit kommt man aber nicht sehr weit; es gibt nur 3 States: pbsNormal, pbsError und pbsPaused. |
AW: TProgressbar - Farbe definieren
Liste der Anhänge anzeigen (Anzahl: 1)
Nja, Rot, Gelb und Grün (früher Blau) wird vom Design der Komponente selbst geboten,
ansonsten VCL-Styles oder eine andere Komponente. ![]() |
AW: TProgressbar - Farbe definieren
Zur Ergänzung: Ich hätte die Anzeige gerne in vertikal !
Mit TGauge scheint das nicht zu funzen (auch immer mit %-Angabe drin) und mit Progressbar "sehe" ich nur nen running-Balken bei Status NORMAL. Sonst nicht. Hab mir mal TChart angesehen (hatte ich nicht instaliert) .... schick, aber völlig oversized. Gibt's da nix einfaches ? |
AW: TProgressbar - Farbe definieren
Dann würde ich ein einfaches TShape dafür nehmen. Dem kannst du jede Farbe geben.
|
AW: TProgressbar - Farbe definieren
Wie kann/soll man mit einem TShape einfach nen vertikalen Balken Basteln ?
Habe weiter mit der Progreessbar gespielt. Mit Projekt/Optionen/Anwendung/Manifest/Laufzeit-Themes AUS wird das auch nix. "Früher" hat das immer problemlos geklappt. |
AW: TProgressbar - Farbe definieren
Liste der Anhänge anzeigen (Anzahl: 1)
Anbei ein kleines Beispiel...
|
AW: TProgressbar - Farbe definieren
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!
Geht auch ohne Shape.
Delphi-Quellcode:
Uses Winapi.CommCtrl, Winapi.UxTheme, // ergänzen
type TForm1 = class(TForm) ProgressBar1: TProgressBar; ProgressBar2: TProgressBar; TrackBar1: TTrackBar; procedure FormShow(Sender: TObject); procedure TrackBar1Change(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormShow(Sender: TObject); begin Winapi.UxTheme.SetwindowTheme(ProgressBar1.Handle, '', ''); // Setzen der Hintergrundfarbe SendMessage(ProgressBar1.Handle, PBM_SETBKCOLOR, 0, clRed); // Setzen der Balkenfarbe SendMessage(ProgressBar1.Handle, PBM_SETBARCOLOR, 0, clNavy); Winapi.UxTheme.SetwindowTheme(ProgressBar2.Handle, '', ''); // Setzen der Hintergrundfarbe SendMessage(ProgressBar2.Handle, PBM_SETBKCOLOR, 0, clNavy); // Setzen der Balkenfarbe SendMessage(ProgressBar2.Handle, PBM_SETBARCOLOR, 0, clRed); end; procedure TForm1.TrackBar1Change(Sender: TObject); begin ProgressBar1.Position:= Trackbar1.Position; ProgressBar2.Position:= Trackbar1.Position; end; |
AW: TProgressbar - Farbe definieren
Ich glaube, das funktioniert nur, wenn die Laufzeit-Themes deaktiviert sind. Wenn die Themes aktiviert sind, kann man den Balken zum Beispiel in Rot anzeigen, indem man `ProgressBar.State := pbsError;` setzt. Damit hat man jedoch nur begrenzte Möglichkeiten, da es nur drei Zustände gibt: `pbsNormal`, `pbsError` und `pbsPaused`.
|
AW: TProgressbar - Farbe definieren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:29 Uhr. |
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