Farbiges ProgressBarGadget

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Sicro
Beiträge: 964
Registriert: 11.08.2005 19:08
Kontaktdaten:

Beitrag 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
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag 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.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> diese Methode funktioniert weder für XP noch Vista Skins
Deswegen wollten wir lieber Skinunabhängig malen :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

Deswegen wollten wir lieber Skinunabhängig malen
Aber haben das die alten Indianer nicht schon vor zeiten getan ... ? :mrgreen:
Benutzeravatar
Sicro
Beiträge: 964
Registriert: 11.08.2005 19:08
Kontaktdaten:

Beitrag 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
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag 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?
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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?

Code: Alles auswählen

ID = OpenLibrary(#PB_Any,"UxTheme.dll")
Haste jetzt eine ID, ist sie vorhanden :mrgreen:
Ansonsten ab WXP
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Ja ne is klar. :wink:

> 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!
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
al90
Beiträge: 1103
Registriert: 06.01.2005 23:15
Kontaktdaten:

Beitrag von al90 »

Sowas ähnliches hatten wir vor kurzem schonmal.

Guckste mal hier: :wink:

http://www.purebasic.fr/german/viewtopi ... e&start=10
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag 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 ;-)
Antworten