Seite 2 von 3
Verfasst: 21.04.2007 18:30
von Sicro
Die Hintergrundfarbe lässt sich ebenfalls ändern:
Code: Alles auswählen
#PBM_SETBKCOLOR = $2001
ProgressBarGadget(0,10,30,250,30,0,100)
SendMessage_(GadgetID(0),#PBM_SETBKCOLOR,0,#Black)
Mit den PB-Funktionen geht das auch, wie ich gerade festgestellt habe:
Code: Alles auswählen
ProgressBarGadget(0,10,30,250,30,0,100)
SetGadgetColor(0,#PB_Gadget_BackColor,#Black)
SetGadgetColor(0,#PB_Gadget_FrontColor,#White)
Mfg DerProgger
Verfasst: 21.04.2007 19:54
von Fluid Byte
Mit den PB-Funktionen geht das auch, wie ich gerade festgestellt habe:
Genau das ist der Witz. Er hat ja PB v3.30. Und am Rande, diese Methode funktioniert weder für XP noch Vista Skins.
Verfasst: 21.04.2007 20:10
von ts-soft
>> diese Methode funktioniert weder für XP noch Vista Skins
Deswegen wollten wir lieber Skinunabhängig malen

Verfasst: 21.04.2007 20:22
von Thalius
Deswegen wollten wir lieber Skinunabhängig malen
Aber haben das die alten Indianer nicht schon vor zeiten getan ... ?

Verfasst: 21.04.2007 21:06
von Sicro
Ja, das ist mir bewusst, dass ihr deshalb die Mal-Methode gewählt habt. Dies ist für den Anfang bestimmt auch der einfachste und verständlichste Weg.
Unter Windows XP mit aktiviertem XPSkin könnte man ja das Gadget mit der WinAPI-Funktion "SetWindowTheme" in den klassischen Skin zurückschalten. Dann funktioniert das Einfärben wieder.
Beispiel:
Code: Alles auswählen
Procedure DisableSkin(GadgetID.l)
Protected ID = OpenLibrary(#PB_Any,"UxTheme.dll")
If ID
CallFunction(ID,"SetWindowTheme",GadgetID(GadgetID),@"",@"")
CloseLibrary(ID)
EndIf
EndProcedure
#PBM_SETBARCOLOR = $409
ProgressBarGadget(0,10,30,250,30,0,100)
DisableSkin(0)
SendMessage_(GadgetID(0),#PBM_SETBARCOLOR,0,#Red)
Funktioniert das eigentlich auch unter Vista noch?
Mfg DerProgger
Verfasst: 21.04.2007 21:27
von AND51
DerProgger, netter Code! Gefällt mir! Sag mal bitte, was ist diese "UxTheme.dll"? Ist die auf jedem Rechner vorhanden, sodass der Code dort eingesetzt werden kann, etc.?
Und unter welchen WIndowsversionen funktioniert das?
Verfasst: 21.04.2007 21:34
von ts-soft
AND51 hat geschrieben:DerProgger, netter Code! Gefällt mir! Sag mal bitte, was ist diese "UxTheme.dll"? Ist die auf jedem Rechner vorhanden, sodass der Code dort eingesetzt werden kann, etc.?
Und unter welchen WIndowsversionen funktioniert das?
Haste jetzt eine ID, ist sie vorhanden
Ansonsten ab WXP
Verfasst: 21.04.2007 21:48
von AND51
Ja ne is klar.
> Ansonsten ab WXP
Achso, also ab WinXP ist diese DLL (standardmäßig) vorhanden und kann das WindowsTheme für einzelne Gadgets außerkraft setzen... OK, danke!
Verfasst: 21.04.2007 23:13
von al90
Sowas ähnliches hatten wir vor kurzem schonmal.
Guckste mal hier:
http://www.purebasic.fr/german/viewtopi ... e&start=10
Verfasst: 21.04.2007 23:14
von edel
DerProgger hat geschrieben:[...]
Funktioniert das eigentlich auch unter Vista noch?
Ja, aber das sollte nur mit Sinn eingesetzt werden (schwere
Darstellungsfelher usw.), man hat schliesslich nicht umsonst
ein Theme aktiv. Wer sein Programm nicht weiter gibt , dem
kann das aber auch egal sein
