Progressbar färben unter XP Luna?
Hallo,
Ich habe bislang eine Progressbar mit folgendem Code gefärbt:
Delphi-Quellcode:
Nun musste ich feststellen das dieses mit XP-Luna nicht mehr funktioniert, nur mit XP classic.
SendMessage(ThpwProgressBar( ProgressList.Items[Found] ).Handle, BAR_CONST, 0, GetColor(bgcolor));
Hat jemand einen Tip mit dem das auch unter Luna funktioniert? |
Moinsen!
Hab vor kurzem noch gelesen das man die Farbe des Brushes einer TProgressBar ändern kann um die andere Farbe zu erhalten, schau mal auf www.swissdelphicenter.ch vorbei da stand das glaub ich. |
Ja da steht dieser code:
Delphi-Quellcode:
uses
CommCtrl; procedure TForm1.Button1Click(Sender: TObject); begin // Set the Background color to teal Progressbar1.Brush.Color := clTeal; // Set bar color to yellow SendMessage(ProgressBar1.Handle, PBM_SETBARCOLOR, 0, clYellow); end; Aber was steckt hinter der Konstanten PBM_SETBARCOLOR? Ich hatte bislang: BAR_CONST = $0409; |
Einen Blick in die msdn:
http://msdn.microsoft.com/library/de...etbarcolor.asp Meines Wissens ist das eine Nachricht die Windows mitteilt, das sich die Farbe deiner ProgressBar geändert hat bzw. das Windows die Farbe ändert, darauf dürfte das hinaus laufen. |
Genau das benutze ich ja, aber leider funktioniert das auf allen Plattformen ausser XP luna. Das kann aber doch nicht an delphi 5 liegen?
|
Ich glaube das läuft nicht unter XP :?: Denn in der Msdn steht:
Zitat:
|
Wieso da steht doch Minimum und nicht ausschliesslich!
Und XP classic geht ja auch! |
Zitat:
bei XP Classic ist das noch die 5.x. Die werden ganz anders gezeichnet. Ob jetzt aber ein einfärben unter Luna möglich ist ?? |
Wahrscheinlich nicht, weil der Progressbar dann faktisch eine Bitmap aus dem jeweiligen Theme-File ist.
Oder sagen wir so: vielleicht wird er gefärbt. Man sieht´s nur nicht, weil die Bitmap drüber liegt. |
Schöne neue Welt von M$ Luna :-((
Da kann man dann wohl nicht viel machen. |
Ich wusste das die Skins nicht nur was gutes haben (Geil aussehen, einer der Hauptgründe warum ich zu XP wechseln würde), sondern es auch irgend einen nachteil gibt *hrhr*
|
Oder du programmierst dir eine eigene ProgressBar-Kompo.
Da kannste dann Farbe und Aussehen selbst festlegen. |
Re: Progressbar färben unter XP Luna?
also bei mir (XP, normales XP Theme, Silver Style) funktioniert das mit dem Farbe ändern
Delphi-Quellcode:
Fragt mich aber nicht warum?
SendMessage(ProgressBar1.Handle, $0409, 0, clred);
v.a. weil im msdn ja Zitat:
mfg GSE |
Re: Progressbar färben unter XP Luna?
Tja, dann bist du entweder ein Genie (gehe ich mal davon aus ;)), oder dein Windows XP ist eine Sonder-Edition, oder jemand hier (:roll: ;)) hat nicht gesehen, dass das bereits erwähnt wurde, dass es unter XP nur Sinn im Klassik-Modus macht.
Wie gesagt, bei aktiven Themes kommt der Progressbar aus der Theme-Ressource und ist nur eine Bitmap. Und ich wüsste nicht, dass man mit PBM_SETBARCOLOR
Code:
(soviel zum Thema "$409" ;)) die Pixelfarbe von Bitmaps beeinflussen kann.
#define WM_USER 0x0400
#define PBM_SETBARCOLOR (WM_USER+9) Also, dann sprichst du bei Zitat:
|
Re: Progressbar färben unter XP Luna?
Zitat:
Zitat:
mfg GSE |
Re: Progressbar färben unter XP Luna?
Ja, dann bist du wohl ein Genie. *aufdiekniefallundanbet* :mrgreen:
Mach doch mal ein Beweisfoto. Meine Vermutung ist, dass dein Programm kein Manifest benutzt. Und daher haben Buttons, Edit-Controls und eben auch Progressbars noch den alten Stil, und letzterer dürfte sich auch ohne Probleme einfärben lassen. Am I right? So I guess, it's my part to be the genius. :stupid: |
Re: Progressbar färben unter XP Luna?
Code:
das war doch aber nie die Bedingung, oder? :oops:
dass dein Programm kein Manifest benutzt
Es ging nur darum eine Progressbar unter XP zu Färben :mrgreen: mfg GSE |
Re: Progressbar färben unter XP Luna?
The one, who can read, is clear im Vorteil (@Hansa: :mrgreen:)
@GSE, schau mal auf Seite Eins: Zitat:
|
Re: Progressbar färben unter XP Luna?
(etwas Offtopic...)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:29 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