'Compileroption -s console
#include "sGUI\sGUI.bas"
#include once"sGUI\RadioButton.bas"

screen 19,32

InitGFX

dim as EventHandle ptr event
event=CreateEventHandle

dim as Gadget ptr radioa,radiob,radioc
radioa  =AddRadioButton(event,30,40,1,"UKW",0)    
radiob  =AddRadioButton(event,30,60,0,"MW",radioa)
radioc  =AddRadioButton(event,30,80,0,"LW",radioa)
GadgetOn(radioa)
GadgetOn(radiob)
GadgetOn(radioc)

'Console öffnen für output
dim as integer ff=freefile
open cons for output as ff
print #ff,"<1> RadioButton-Gruppe auf >UKW< einstellen"
print #ff,"<2> RadioButton-Gruppe auf >MW< einstellen"
print #ff,"<3> RadioButton-Gruppe auf >LW< einstellen"

do
  event->xSleep(1)
  if event->GADGETMESSAGE then
    select case event->GADGETMESSAGE
      case radioa
        print #ff,"RadioButton-Gruppe durch User auf >UKW< gestellt"
      case radiob
        print #ff,"RadioButton-Gruppe durch User auf >MW< gestellt"
      case radioc
        print #ff,"RadioButton-Gruppe durch User auf >LW< gestellt"
    end select
  end if
  
  if event->KEY<>"" then
    select case event->KEY
      case "1"
        SetSelect(radioa,1)
        SetSelect(radiob,0)
        SetSelect(radioc,0)
        print #ff,"gesamte RadioButton-Gruppe auf >UKW< gestellt"
      case "2"
        SetSelect(radioa,0)
        SetSelect(radiob,1)
        SetSelect(radioc,0)
        print #ff,"gesamte RadioButton-Gruppe auf >MW< gestellt"
      case "3"
        SetSelect(radioa,0)
        SetSelect(radiob,0)
        SetSelect(radioc,1)
        print #ff,"gesamte RadioButton-Gruppe auf >LW< gestellt"
    end select
  end if
loop until event->EXITEVENT

close ff

DestroyEventHandle (event)
end
/'
function AddRadioButton (event as EventHandle ptr,x as integer,y as integer,s as integer,txt as string="",Head as Gadget ptr) as Gadget ptr
event   ein Zeiger zu einem EventHandle
x       Position in px
y       Position in px
s       voreingestellte Selektion 0/1
txt     optional, Bezeichnung des RadioButtons rechts vom Control
Head    Zeiger auf den "Kopf" der gesamten Gruppe dem dieses Control zugeordnet wird, 0 wenn selbst "Kopf"



sub SetSelect (gad as Gadget ptr,selection as integer)
gad         Zeiger auf ein Control
selektion   Selektion (0/1) auf die eingestellt werde soll



function GetSelect (gad as Gadget ptr) as integer
liefert Selektion des Controls (0/1)
gad         Zeiger auf ein Control



sub SetCaption(gad as _Gadget ptr,txt as string)
setzt neuen Text
gad         Zeiger auf ein Control
txt         neuer Text



weitere Manipulationen mit GadgetOn,GadgetOff,GadgetSleep
'/