Seite 1 von 2
ProgressBar farblich gestalten?
Verfasst: 30.05.2007 18:11
von PureBasic4.0
Hi, Leute
Ich möchte eine ProgressBar farbig gestalten. Dabei soll die Farbe, je näher der Fortschritt den 100% entgegengeht, immer grüner werden. Einen Farbvelauf brauche ich nicht unbedingt, es reicht mir, wenn die gesamte ProgressBar die Farbe annimmt. (SetGadgetColor).
Gibt es einen Code, mit dem man von Rot nach Grün kommt?
Verfasst: 30.05.2007 18:18
von RSBasic
So in etwa? (OK, man muss noch bissel verfeinern, aber fürs erste müsste das reichen)
Code: Alles auswählen
Procedure Test()
For a=0 To 254
SetGadgetColor(0,#PB_Gadget_FrontColor,RGB(0,a,a/2))
SetGadgetState(0,a/2)
Delay(10)
Next
EndProcedure
If OpenWindow(0,0,0,500,500,"",#PB_Window_SystemMenu)
If CreateGadgetList(WindowID(0))
#PBM_SETBARCOLOR = $409
ProgressBarGadget(0,10,30,250,30,0,100)
EndIf
SetGadgetState(0,50)
CreateThread(@Test(), 154)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Verfasst: 30.05.2007 19:01
von PureBasic4.0
ja, genau sowas suche ich. Allerdings funktioniert das Einfärben der ProgressBars mit XP Skin Unterstützung nicht. Gibt es dafür auch noch einen Bugfix?
Verfasst: 30.05.2007 19:08
von hardfalcon
Mit aktiviertem Windows-XP-Skin werden die Balken vom Progress-Bar-Gadgets meines Wissens nicht mehr als einfarbige Boxen gezeichet, sondern da wird ein fertiges Bitmap vom Windows-XP-Skin genommen...
//EDIT: Soll heißen, Bugfix dürfte irgendwo zwischen "viel zu viel Arbeit für viel zu wenig Ergebnis" und "unmöglich" sein...
Verfasst: 30.05.2007 19:10
von Kaeru Gaman
also ist der BUG die benutzung des skins.. ätsch.
musst dir halt ein eigenes, ownerdrawn progressbar machen, da pfuscht der skin dann nimmer rein...
Verfasst: 30.05.2007 19:11
von PureBasic4.0
schade. Ich hab da mal was von Manifest-Dateien gehört (XP Skin Support ist auch eine). Gibt es da nicht so eine, die alles in XP-Skin macht, nur die ProgressBars nicht? Oder kann man die XP Skin Manifest nicht umschreiben? Oder soll ich das mit den farbigen ProgressBars ganz vergessen?
Alternativ könnte ich ja auch ein ImageGadget machen und da dann mit Line die Linien draufzeichnen, aber wann wo eine Linie gesetzt werden soll, wäre mir dann nicht ganz klar.
Verfasst: 30.05.2007 19:16
von hardfalcon
Nein, solche Manifest-Dateien gibt es nicht. Prinzip "Alles oder nichts!".
Verfasst: 30.05.2007 19:23
von D@nte
Selber malen:
http://www.purebasic.fr/german/viewtopi ... rogressbar
Oder den eh grottenhässlichen XP-Skin komplett verbieten auch irgendwo in dem Thread
[/url]
Verfasst: 30.05.2007 20:00
von PureBasic4.0
XP-Skin werde ich nicht ausschalten, weil der bei Buttons und anderem einfach besserals der standard 98 Skin aussieht.
Verfasst: 31.05.2007 15:05
von Konne
Selber malen. Vielleicht geht auch Subclassing, da kenne ich mich aber net so gut aus.