hi markcw, a small menu example.
kev
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