Example:
Const MENU_EXIT=105
Const MENU_ABOUT=109
Local win:TGadget = CreateWindow("WINDOW",300,300,700,500,0,WINDOW_TITLEBAR|WINDOW_MENU|WINDOW_STATUS|WINDOW_CLIENTCOORDS)
Local can:TGadget = CreateCanvas(0,0,700,500,win,1)
SetGadgetLayout can,1,1,1,1
' create menu
Local filemenu:TGadget = CreateMenu("&File",0,WindowMenu(win))
CreateMenu"E&xit",MENU_EXIT,filemenu
Local helpmenu:TGadget = CreateMenu("&Help",0,WindowMenu(win))
CreateMenu "&About",MENU_ABOUT,helpmenu
UpdateWindowMenu win
Local timer = CreateTimer (10)
' Main loop
While WaitEvent()
Select EventID()
Case EVENT_TIMERTICK
updateCanvas(can)
' Print "Tick!"
Case EVENT_WINDOWCLOSE
'
' Quit
End
Case EVENT_MENUACTION
'
' Menu stuff
Select EventData()
Case MENU_EXIT
End
Case MENU_ABOUT
Notify "A WINDOW!~nBy IDIOT"
End Select
Default
'
' Uncomment this to show what other events occur
' Print CurrentEvent.toString()
EndSelect
Wend
Function updateCanvas(can:TGadget)
'
' Draw to the canvas
SetGraphics CanvasGraphics(can)
'
' Make sure it has the correct dimensions
SetViewport 0,0,GadgetWidth(can),GadgetHeight(can)
SetBlend SOLIDBLEND
Cls
Flip
End Function
|