AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ProgressBar färben?

Ein Thema von AlexII · begonnen am 20. Jun 2015 · letzter Beitrag vom 20. Jun 2015
Antwort Antwort
Seite 1 von 2  1 2      
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#1

ProgressBar färben?

  Alt 20. Jun 2015, 12:42
Hallo,

ich versuche schon seit gestern die ProgressBar zu färben. Habe alles ausprobiert was google her geben konnte, aber nix klappt. Hier einige Beispiele:

Delphi-Quellcode:
const WM_USER = $0400;
  CCM_FIRST = $2000;
  PBM_SETBARCOLOR = WM_USER + 9;
  PBM_SETBKCOLOR = CCM_FIRST + 1;

...

  ProgressBar2.Brush.Color:= clRed; // Set Background colour
  //ProgressBar2.Perform(PBM_SETBARCOLOR, 0, clRed);
  //ProgressBar2.Position := 50;
  SendMessage(ProgressBar2.Handle, PBM_SETBARCOLOR, 0, clRed);
  //SendMessage(ProgressBar2.Handle, PBM_SETBARCOLOR, 0 , RGB(200, 200, 155));
  Progressbar2.Repaint;
  //ProgressBar2.Parent.Color:=clred;
  //ProgressBar2.Color:=clred;
  //SetWindowTheme(ProgressBar2.Handle, '', '');
Bin für jede Hilfe dankbar!
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: ProgressBar färben?

  Alt 20. Jun 2015, 12:54
Wenn er wirklich bunt sein soll, wirst Du ihn komplett selbst zeichnen müssen.
Der normale Fortschrittsbalken von Windows ist je nach Status entweder grün, gelb oder rot.

"Nur" mal eben so die Balkenfarbe zuweisen geht meines Wissens nicht. Du könntest aber schauen, ob Du bei den Windows 3.1-Komponenten noch den "TGauge" findest. Möglicherweise kann man dort ein wenig Farbe drüberkippen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: ProgressBar färben?

  Alt 20. Jun 2015, 13:00
Wenn man vorher das Theming abschaltet, geht es. Sieht aber auch dementsprechend schrecklich aus.

Code:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   SetWindowTheme(ProgressBar1->Handle, NULL, L"");
   SendMessage(ProgressBar1->Handle, WM_USER + 9, 0, clRed);
}
Miniaturansicht angehängter Grafiken
vorher.png   nachher.png  
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#4

AW: ProgressBar färben?

  Alt 20. Jun 2015, 13:02
Wenn er wirklich bunt sein soll, wirst Du ihn komplett selbst zeichnen müssen.
Der normale Fortschrittsbalken von Windows ist je nach Status entweder grün, gelb oder rot.
Heißt das, dass durch Statusänderung auch die Farbe geändert wird? Wie ändert man den Status?

Übrigens der von mir gezeigte Code funktioniert laut Quellen bei vielen Usern, bei mir aber nicht. Liegt wohl am Lazarus nehme ich an.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: ProgressBar färben?

  Alt 20. Jun 2015, 13:16
Du musst das Theming ausschalten
Du musst das Theming ausschalten
Du musst das Theming ausschalten
Du musst das Theming ausschalten

Einmal reicht anscheinend nicht
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#6

AW: ProgressBar färben?

  Alt 20. Jun 2015, 13:29
Du musst das Theming ausschalten
Du musst das Theming ausschalten
Du musst das Theming ausschalten
Du musst das Theming ausschalten

Einmal reicht anscheinend nicht
Es MUSS auch anders gehen, zig User schreiben das! Z.B. hier, von Luckie persönlich -> http://www.delphipraxis.net/714479-post9.html

Oder war es nicht für Windows >= 7?
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: ProgressBar färben?

  Alt 20. Jun 2015, 13:31
Theming bedeutet: Windows soll entscheiden¡
Markus Kinzler
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: ProgressBar färben?

  Alt 20. Jun 2015, 13:36
zig User schreiben das! Z.B. hier, von Luckie persönlich -> http://www.delphipraxis.net/714479-post9.html?
Alternativ könntest du dort noch eine Seite weiter blättern und lesen dass man...

...


... das Theming abschalten muss.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#9

AW: ProgressBar färben?

  Alt 20. Jun 2015, 13:44
Hm... ok... muss es dann so akzeptieren. Danke euch!
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: ProgressBar färben?

  Alt 20. Jun 2015, 15:53
Den Status kannst du über die Eigenschaft "Status" der Progressbar ändern. Hier gibt es 3 Modi: pbNormal (Grün), pbPause (Gelb) und pbError (Rot). Andere Farben gehen eben nur indem du das Theming ausschaltest oder über die von Daniel erwähnte TGauge. Die hat zudem noch eine Prozentanzeige. Die TGauge sieht aber natürlich nicht so schön aus, wie die normale Progressbar.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:33 Uhr.
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