ButtonImageGadget() mit #PB_Button_Toggle
ButtonImageGadget() mit #PB_Button_Toggle
Ich wäre sehr dafür, dem ButtonImageGadget() ein Flag #PB_Button_Toggle zu spendieren, damit man es wie ein normales ButtonGadget() als Schalter einsetzen kann.
Was haltet ihr davon? Mal vorschlagen?
Sven
Was haltet ihr davon? Mal vorschlagen?
Sven
- sharkpeter
- Beiträge: 474
- Registriert: 29.08.2004 16:18
- Wohnort: Dresden
- Kontaktdaten:
- 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
Ist vielleicht unter Linux oder MacOS nicht möglich? Wird also nie kommen?
In Windows ist es kein Problem:
In Windows ist es kein Problem:
Code: Alles auswählen
If OpenWindow(0, #PB_Ignore, #PB_Ignore, 400, 300, "")
If CreateGadgetList(WindowID(0))
ButtonGadget(0, 10, 10, 168, 35, "", #PB_Button_Toggle|#BS_BITMAP)
SendMessage_(GadgetID(0), #BM_SETIMAGE, 0, LoadImage(0, #PB_Compiler_Home + "Examples\Sources\Data\PureBasic.bmp"))
While WaitWindowEvent() <> 16 : Wend
EndIf
EndIf
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Lieber den Style aendern , so laesst es sich dann auch weiterhin
das Bild mit setgadgetstate aendern.
das Bild mit setgadgetstate aendern.
Code: Alles auswählen
Macro AddStyle(id,style)
SetWindowLong_(GadgetID(id),#GWL_STYLE,GetWindowLong_(GadgetID(id),#GWL_STYLE)|style)
SetWindowPos_(GadgetID(id),0,0,0,0,0,#SWP_NOMOVE|#SWP_NOSIZE|#SWP_FRAMECHANGED)
EndMacro
If OpenWindow(0, #PB_Ignore, #PB_Ignore, 400, 300, "")
If CreateGadgetList(WindowID(0))
LoadImage(0, #PB_Compiler_Home + "Examples\Sources\Data\PureBasic.bmp")
ButtonImageGadget(0, 10, 10, 168, 35, ImageID(0))
AddStyle(0,#PB_Button_Toggle)
While WaitWindowEvent() <> 16 : Wend
EndIf
EndIf
- 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
@edel
Leider kann ich dann bei aktiviertem XP-Style den getoggleten Zustand nicht
erkennen, sieht genauso aus, als wenn der Button den Focus hat. Vielleicht
liegt das ja an meinem Style?
Leider kann ich dann bei aktiviertem XP-Style den getoggleten Zustand nicht
erkennen, sieht genauso aus, als wenn der Button den Focus hat. Vielleicht
liegt das ja an meinem Style?
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Der Benutzer kann ja bei gedrücktem Button ein anderes Bild einfügen, als bei nicht gedrücktem Button.
Danke für die Codes!
Danke für die Codes!
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End