Const EVENT_WINDOW_CLOSE=$803
Const EVENT_MENU_ACTION=$1001

window=CreateWindow("Menus and events",140,110,500,300,0,15)
status=CreateLabel("Choose a menu command.",16,18,450,26,window)
menuRoot=WindowMenu(window)
fileMenu=CreateMenu("&File",0,menuRoot)
openMenu=CreateMenu("&Open...",101,fileMenu)
saveMenu=CreateMenu("&Save",102,fileMenu)
CreateMenu "",0,fileMenu
exitMenu=CreateMenu("E&xit",199,fileMenu)
viewMenu=CreateMenu("&View",0,menuRoot)
gridMenu=CreateMenu("Show &grid",201,viewMenu)
CheckMenu gridMenu
UpdateWindowMenu window

running=True
While running
    eventID=WaitEvent()
    If eventID=EVENT_WINDOW_CLOSE And EventSource()=window Then running=False
    If eventID=EVENT_MENU_ACTION
        Select EventData()
        Case 101
            SetGadgetText status,"Open selected"
        Case 102
            SetGadgetText status,"Save selected"
        Case 199
            running=False
        Case 201
            If MenuChecked(gridMenu)
                UncheckMenu gridMenu
                SetGadgetText status,"Grid hidden"
            Else
                CheckMenu gridMenu
                SetGadgetText status,"Grid shown"
            EndIf
            UpdateWindowMenu window
        End Select
    EndIf
Wend

FreeGadget window
End
