ProgressBar farblich gestalten?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

ProgressBar farblich gestalten?

Beitrag 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?
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag 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
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag 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?
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag 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...
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag 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.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Nein, solche Manifest-Dateien gibt es nicht. Prinzip "Alles oder nichts!".
Benutzeravatar
D@nte
Beiträge: 324
Registriert: 24.04.2007 15:33
Wohnort: Berlin

Beitrag 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]
Benutzeravatar
PureBasic4.0
Beiträge: 785
Registriert: 29.10.2006 17:26
Wohnort: 127.0.0.1

Beitrag von PureBasic4.0 »

XP-Skin werde ich nicht ausschalten, weil der bei Buttons und anderem einfach besserals der standard 98 Skin aussieht.
PB 4.50 RC1 + Ubuntu 10.04 LTS + Windows 7 x64
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Selber malen. Vielleicht geht auch Subclassing, da kenne ich mich aber net so gut aus.
Antworten