Delphi-PRAXiS
Seite 1 von 2  1 2      

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 ProgressBar Farbe lässt sich nicht ändern (https://www.delphipraxis.net/105052-progressbar-farbe-laesst-sich-nicht-aendern.html)

BullsEye 14. Dez 2007 18:49


ProgressBar Farbe lässt sich nicht ändern
 
Auf nen Button klick (bis jetzt ist das noch so*) soll die Farbe zweier Progress Bars geändert werden.
Aber irgendwie geht das nicht. Oder gibts da noch vllt ne andere Möglichkeit?
Bis jetzt hab ich folgendes:

Delphi-Quellcode:
uses CommCtrl;


procedure TfrmEinstellungen.btnPGBFarbeClick(Sender: TObject);
begin
      frmMain.pbLeft.Perform(PBM_SETBARCOLOR, -1, clblue);
    frmMain.pbRight.Perform(PBM_SETBARCOLOR, -1, clblue);
end;
Andere Farben gehen auch nicht

Delphi-Quellcode:
clgreen
clorange
clred
clgreen
clblack
---------------------------
*soll später noch durch ne ComboBox bzw durch ne PaintBox geändert werden

SirThornberry 14. Dez 2007 19:13

Re: ProgressBar Farbe lässt sich nicht ändern
 
die Progressbar nimmt doch die Farbe von ihrem Parent an oder liege ich jetzt völlig daneben?

MrKnogge 14. Dez 2007 19:17

Re: ProgressBar Farbe lässt sich nicht ändern
 
Hast du das XP-Manifest in dein Programm eingebunden?

Progman 14. Dez 2007 19:31

Re: ProgressBar Farbe lässt sich nicht ändern
 
TProgressBar scheint gar keine Eigenschaft BarColor oder Color zu haben. Jedenfalls hab ich die hier (D2007) nicht gefunden. Man könnte aber TGauge nehmen, da kann man die Farben nach Belieben ändern.

BullsEye 14. Dez 2007 19:48

Re: ProgressBar Farbe lässt sich nicht ändern
 
Zitat:

Zitat von Progman
TProgressBar scheint gar keine Eigenschaft BarColor oder Color zu haben. Jedenfalls hab ich die hier (D2007) nicht gefunden. Man könnte aber TGauge nehmen, da kann man die Farben nach Belieben ändern.

Im Objectinspector lässt diese sich auch nicht ändern.
Zitat:

Zitat von MrKnogge
Hast du das XP-Manifest in dein Programm eingebunden?

Ja hab ich.

EDatabaseError 14. Dez 2007 19:56

Re: ProgressBar Farbe lässt sich nicht ändern
 
Bei den Schweizern (swissdelphicenter.ch) gibts ein Code wie man eine Progressbar farbig bekommt...

BullsEye 14. Dez 2007 20:24

Re: ProgressBar Farbe lässt sich nicht ändern
 
mit Hilfe von SwissDelphiCenter bin ich nun auf folgenden Code bekommen

Delphi-Quellcode:
 
frmMain.pbLeft.Brush.color := clTeal;
  SendMessage(frmMain.pbLeft.Handle, PBM_SETBARCOLOR, 0, clblue);
  frmMain.pbRight.Brush.color := clTeal;
  SendMessage(frmMain.pbRight.Handle, PBM_SETBARCOLOR, 0, clblue);
Allerdings scheint der auch nicht wirklich zu funtkionieren?!

Muetze1 14. Dez 2007 21:03

Re: ProgressBar Farbe lässt sich nicht ändern
 
Wenn du das XP Manifest nutzt, dann wird das Theme verwendet, sprich: Der ProgressBar wird von Windows anhand des Themes gezeichnet. Somit musst du dir entweder selber einen Progressbar schreiben bzw. komplett einen Balken selber malen.

Luckie 14. Dez 2007 22:16

Re: ProgressBar Farbe lässt sich nicht ändern
 
Gerade getestet:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, commctrl;

type
  TForm1 = class(TForm)
    ProgressBar1: TProgressBar;
    procedure FormPaint(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormPaint(Sender: TObject);
begin
  SendMessage(Progressbar1.Handle, PBM_SETBARCOLOR, 0, clRed);
end;

end.
Funktioniert. Es muss an etwas anderem liegen. Vermutlich an dem vorhanden Manifest, wie Muetze schon gesagt hat.

BullsEye 15. Dez 2007 05:04

Re: ProgressBar Farbe lässt sich nicht ändern
 
Hm ich werd da nochmal schauen.
Aber danke euch erstmal ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:49 Uhr.
Seite 1 von 2  1 2      

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