quick example i just grabbed from my un-released examples
Include "WB3DStyles.bb"
; setup gfx mode.
Graphics3D 640,480,16,3
Global RuntimeWindow_hWnd = WB3D_InitializeGUI(SystemProperty("AppHwnd"),10,10,800,600)
; hot key events
WB3D_HotKeyEvent MOD_ALT,78,1 ; alt+n
WB3D_HotKeyEvent MOD_CONTROL,76,25 ; ctrl+l
; menus
menus = WB3D_WindowMenu(RuntimeWindow_hWnd)
file = WB3D_CreateMenu("&File",0,menus,0)
NewItem = WB3D_CreateMenu("&New... "+WB3D_MENUHOTKEY_SPACER+"Alt+N",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"+WB3D_MENUHOTKEY_SPACER+"Ctrl+C",5,editmenu_window_1,0) ;: WB3D_AddMenuIcon(editmenu_window_1,5,"menuBMPS/MENUCUT.BMP")
CopyItem = WB3D_CreateMenu("Copy"+WB3D_MENUHOTKEY_SPACER+"Alt+C",6,editmenu_window_1,0) ;: WB3D_AddMenuIcon(editmenu_window_1,6,"menuBMPS/MENUCOPY.BMP")
PasteItem = WB3D_CreateMenu("Paste"+WB3D_MENUHOTKEY_SPACER+"Ctrl+P",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)
statusbar = WB3D_CreateStatusBar(RuntimeWindow_hWnd,"")
WB3D_SetStatusParts statusbar,4
;
WB3D_StatusPartWidth(statusbar,0,150)
WB3D_StatusPartWidth(statusbar,1,50)
WB3D_StatusPartWidth(statusbar,2,50)
WB3D_StatusPartWidth(statusbar,3,200)
WB3D_StatusPartWidth(statusbar,4,-1)
;
WB3D_SetStatusText statusbar,0,"part 0"
WB3D_SetStatusText statusbar,1,"part 1"
WB3D_SetStatusText statusbar,2,"part 2"
WB3D_SetStatusText statusbar,3,"part 3"
WB3D_SetStatusText statusbar,4,"part 4"
;
WB3D_UpdateStatusbar statusbar
; 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
Cls
; get an event of the event queue.
event = WB3D_WaitEvent()
Select event
Case WB3D_EVENT_GADGET
Select WB3D_EventSource()
End Select
Case WB3D_EVENT_MENU
WB3D_Notify "menu item","Menu selected: "+WB3D_EventData(),0
WB3D_FlushEvents()
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
;WB3D_ShowGadget RuntimeWindow_hWnd
Select WB3D_EventSource()
Case RuntimeWindow_hWnd
QUIT = 1
;state = WB3D_Notify("Quit","Save changes",MB_YESNOCANCEL)
;Select state
;
; Case IDCANCEL
;
; Case IDYES
;
; Case IDNO
; QUIT = 1
;
;End Select
End Select
End Select
; generate an internal blitz event
Flip
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
i do plan on adding these examples to the download its finding the time.
kev