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

screen 19,32
InitGFX
cls

dim as EventHandle ptr event
event=CreateEventHandle

'Syntax: Menu(event EventHandle ptr, MenüNummer as integer, MenüEintrag as integer, Status as integer, Menüname as string)

Menu (event,1,0,1,"Menue A")            'Eintrag 0  (3.Parameter) erzeugt einen "Header", also das was im MenuBar als Menüname zu sehen ist
Menu (event,1,1,1,"Eintrag A")          'normaler aktiver und anwählbarer Menüeintrag(Item)
Menu (event,1,2,0,"Eintrag B")          'normaler inaktiver und nicht anwählbarer Menüeintrag(Item)
Menu (event,1,3,4,"dieser Text wird ignoriert") 'ein Separator(Trennlinie)
Menu (event,1,4,3,"Haekchen A")         'ein Häkchen
Menu (event,1,5,2,"Haekchen B")         'ein Häkchen, jedoch inaktiv

Menu (event,2,0,1,"")                   'Menü 2 und sein Strip wird nicht dargestellt, da dessen Header einen Leerstring "" ist
Menu (event,2,1,1,"Eintrag E")          'Menü 3 rückt nach links auf
Menu (event,2,2,0,"Eintrag F")          '

Menu (event,3,0,0,"Menue C")            'wenn Header inaktiv dann kompletter Strip inaktiv egal welche Aktivierung
Menu (event,3,2,0,"Eintrag D")          'die einzelnen Einträge haben, hier inaktiv 0
Menu (event,3,1,1,"Eintrag C")          'hier aktiv 1

MenuOn(event)

dim as integer ff=freefile
open cons for output as ff

do
  event->xSleep(1)
  if event->MENUMESSAGE then   'Wenn ein MenüEintrag angewählt wurde dann...
    select case event->MENUNUMBER
      case 1          'Menü 1
        select case event->ITEMNUMBER
          case 1
            print #ff,"Eintrag A angewaehlt"
          case 2
            '...
          case 4
            '...
            if GetChecked(event,1,4) then
              Menu (event,1,4,1,"Haekchen A")
              print #ff,"Haekchen nicht gesetzt"
            else
              Menu (event,1,4,3,"Haekchen A")
              print #ff,"Haekchen gesetzt"
            end if
          case 5
            '...
        end select

      case 2          'Menü 2
        '...              Select Case Block für Items von Menü 2
      case 3          'Menü 3
        '...              Select Case Block für Items von Menü 3
    end select

  end if
loop until event->EXITEVENT

close ff

DestroyEventHandle (event)
end
