hi markcw, a small menu example.
Include "WB3DStyles.bb"
; setup gfx mode.
Graphics3D 640,480,16,2
Global switch=0
; install winblitz3d.
Global RuntimeWindow_hWnd = WB3D_InitializeGUI(SystemProperty("AppHwnd"),10,10,300,200)
WB3D_SetQuitMessage "WinBlitz3D 3D/GUI","Sure To Quit"
;WB3D_HideGadget RuntimeWindow_hWnd
; menus
menus = WB3D_WindowMenu(RuntimeWindow_hWnd)
file = WB3D_CreateMenu("File",0,menus,0)
NewItem = WB3D_CreateMenu("New",1,file,0) : WB3D_AddMenuIcon(file,1,"menuBMPS/MENUNEW.BMP")
OpenItem = WB3D_CreateMenu("Open",2,file,1) : WB3D_AddMenuIcon(file,2,"menuBMPS/MENULOAD.BMP")
OpenItem_1 = WB3D_CreateMenu("Open Sub Item 1",43,OpenItem,0)
OpenItem_2 = WB3D_CreateMenu("Open Sub Item 2",20,OpenItem,0)
SUBOpenItem_1 = WB3D_CreateMenu("Sub Item 1",44,OpenItem_2,0) : WB3D_AddMenuIcon(file,44,"menuBMPS/MENULOAD.BMP")
SUBOpenItem_2 = WB3D_CreateMenu("Sub Item 2",45,OpenItem_2,1)
SUBOpenItem_5 = WB3D_CreateMenu("Sub Item 2",46,SUBOpenItem_2,0)
WB3D_CreateMenu("",0,file,0)
SaveItem = WB3D_CreateMenu("Save",3,file,0) : WB3D_AddMenuIcon(file,3,"menuBMPS/MENUSAVE.BMP")
WB3D_CreateMenu("",0,file,0)
QuitItem = WB3D_CreateMenu("Quit",4,file,0) : WB3D_AddMenuIcon(file,4,"menuBMPS/MENUQUIT.BMP")
editmenu_window_1 = WB3D_CreateMenu("Edit",0,menus,0)
CutItem = WB3D_CreateMenu("Cut",5,editmenu_window_1,0) ;: WB3D_AddMenuIcon(editmenu_window_1,5,"menuBMPS/MENUCUT.BMP")
CopyItem = WB3D_CreateMenu("Copy",6,editmenu_window_1,0) ;: WB3D_AddMenuIcon(editmenu_window_1,6,"menuBMPS/MENUCOPY.BMP")
PasteItem = WB3D_CreateMenu("Paste",7,editmenu_window_1,0) ;: WB3D_AddMenuIcon(editmenu_window_1,7,"menuBMPS/menupaste.BMP")
WB3D_RadiocheckMenu editmenu_window_1,5,7,6
WB3D_UpdateWindowMenu(RuntimeWindow_hWnd)
; cleanup any old creation events, its better to do this before we enter the main
; event loop, when some gadgets are created they generate events.
WB3D_FlushEvents
; setup out quit flag, and loop until the flag is set.
QUIT = 0
While Not QUIT = 1
;CameraClsColor
; generate an internal blitz event
Flip
Cls
; get an event of the event queue.
event = WB3D_WaitEvent()
Select event
Case WB3D_EVENT_MENU
WB3D_Notify "menu item","Menu selected: "+WB3D_EventData(),0
Case WB3D_EVENT_KEYPRESS
; wb_eventdata holds the key code that was pressed.
keypressed = WB3D_EventData()
Select keypressed
Case WB3D_KEY_ESCAPE
; set the flag to leave the loop.
QUIT = 1
End Select
Case WB3D_EVENT_WINDOW_CLOSE
End Select
Wend
; use notify using external winapi constants.
WB3D_Notify "WB3D GUI Window Example","Bye, Thats It I Quit",MB_OK Or MB_ICONASTERISK
WB3D_EndGUI()
EndGraphics
End
kev
|