AGB  ·  Datenschutz  ·  Impressum  







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

ProgressBar Farbe lässt sich nicht ändern

Ein Thema von BullsEye · begonnen am 14. Dez 2007 · letzter Beitrag vom 16. Dez 2007
Antwort Antwort
Seite 1 von 2  1 2      
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#1

ProgressBar Farbe lässt sich nicht ändern

  Alt 14. Dez 2007, 19:49
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
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: ProgressBar Farbe lässt sich nicht ändern

  Alt 14. Dez 2007, 20:13
die Progressbar nimmt doch die Farbe von ihrem Parent an oder liege ich jetzt völlig daneben?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#3

Re: ProgressBar Farbe lässt sich nicht ändern

  Alt 14. Dez 2007, 20:17
Hast du das XP-Manifest in dein Programm eingebunden?
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

Re: ProgressBar Farbe lässt sich nicht ändern

  Alt 14. Dez 2007, 20:31
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.
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#5

Re: ProgressBar Farbe lässt sich nicht ändern

  Alt 14. Dez 2007, 20:48
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 von MrKnogge:
Hast du das XP-Manifest in dein Programm eingebunden?
Ja hab ich.
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#6

Re: ProgressBar Farbe lässt sich nicht ändern

  Alt 14. Dez 2007, 20:56
Bei den Schweizern (swissdelphicenter.ch) gibts ein Code wie man eine Progressbar farbig bekommt...
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#7

Re: ProgressBar Farbe lässt sich nicht ändern

  Alt 14. Dez 2007, 21:24
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?!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: ProgressBar Farbe lässt sich nicht ändern

  Alt 14. Dez 2007, 22:03
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.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: ProgressBar Farbe lässt sich nicht ändern

  Alt 14. Dez 2007, 23:16
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#10

Re: ProgressBar Farbe lässt sich nicht ändern

  Alt 15. Dez 2007, 06:04
Hm ich werd da nochmal schauen.
Aber danke euch erstmal
  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 11:36 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