I have a list of radio buttons.
So far, so good.
But how do I know which one is checked?
I can't query each button number, can I?
Thanks!
Code: Select all
For i= 1 To 20
OptionGadget(i, i*92-45, top+28, 60, 24, Str(i+2)+"x"+Str(i+2))
Next
Code: Select all
For i= 1 To 20
OptionGadget(i, i*92-45, top+28, 60, 24, Str(i+2)+"x"+Str(i+2))
Next
Code: Select all
;.......
Case #PB_Event_Gadget
Select EventGadget()
Case 1 To 20 ; all OptionGadgets
Debug " => Option " + EventGadget()
EndSelect
;.......
Code: Select all
Procedure OptionGadgetEvent()
Debug EventGadget()
Debug GetGadgetText(EventGadget())
EndProcedure
OpenWindow(0, 0, 0, 1200, 200, "OptionGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
For i= 1 To 20
OptionGadget(i, i*92-45, top+28, 60, 24, Str(i+2)+"x"+Str(i+2))
BindGadgetEvent(i, @OptionGadgetEvent())
Next
Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
Code: Select all
If OpenWindow(0, 0, 0, 170, 160, "OptionGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OptionGadget(0, 30, 20, 90, 20, "Option 1")
OptionGadget(1, 30, 45, 90, 20, "Option 2")
OptionGadget(2, 30, 70, 90, 20, "Option 3")
SetGadgetState(1, 1) ; sélectionne la deuxième option
ButtonGadget(10, 30, 100, 100, 40, "Save")
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget()
Case 10 ; save pref
Debug "the radio button is : "+who
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
End
Code: Select all
If OpenWindow(0, 0, 0, 170, 160, "OptionGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OptionGadget(0, 30, 20, 90, 20, "Option 1")
OptionGadget(1, 30, 45, 90, 20, "Option 2")
OptionGadget(2, 30, 70, 90, 20, "Option 3")
SetGadgetState(1, 1) ; sélectionne la deuxième option
ButtonGadget(10, 30, 100, 100, 40, "Save")
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget()
Case 10 ; save pref
For i=0 To 2
Debug "the radio button "+Str(i+1)+"is : "+GetGadgetState(i)
Next
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
End
Code: Select all
EnableExplicit
Define i, eg
If OpenWindow(0, 0, 0, 200, 610, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
For i= 1 To 20
ButtonGadget(i, 120, i * 28, 26, 26, Chr(i + 64))
Next
For i= 1 To 20
OptionGadget(i + 20, 10, i * 28, 60, 24, Str(i))
Next
;- Loop
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
eg = EventGadget()
Select eg
Case 1 To 20
Debug "Button" + Chr(eg + 64)
SetGadgetText(eg, Chr(eg + 64 + 32))
Case 21 To 40
Debug "Option" + Str(eg - 20)
SetGadgetText(eg, "click")
EndSelect
Case #PB_Event_CloseWindow
CloseWindow(0)
End
EndSelect
ForEver
EndIf