using winblitz3d's includes menus ive put a little demo showing menus/buttons in the runtime window.
Include "WinBlitz3D_Include.bb"
Graphics3D 640,480,16,2
SetBuffer BackBuffer()
camera = CreateCamera()
light = CreateLight()
cube = CreateCube()
PositionEntity cube,0,0,5
;
blitz_runtime_window = WinBlitzGUI(SystemProperty("AppHWND"))
; create window menus
window_menu = WindowMenu(blitz_runtime_window)
menu_file = CreateMenu("File",0,window_menu)
CreateMenu("Open",1,menu_file) : AddMenuIcon(window_menu,1,"menuBMPS/menuload.bmp",16,16)
CreateMenu("Save",2,menu_file) : AddMenuIcon(window_menu,2,"menuBMPS/menusave.bmp",16,16)
CreateMenu("",0,menu_file)
submenu_file = CreateMenu("Recent Files ",0,menu_file)
CreateMenu("D:\WinBlitz3D\Example_1.bb",3,submenu_file) : AddMenuIcon(window_menu,3,"menuBMPS/menurecent.bmp",16,16)
CreateMenu("D:\WinBlitz3D\Example_2.bb",4,submenu_file) : AddMenuIcon(window_menu,4,"menuBMPS/menurecent.bmp",16,16)
CreateMenu("",0,menu_file)
CreateMenu("Quit",5,menu_file) : AddMenuIcon(window_menu,5,"menuBMPS/menuquit.bmp",16,16)
menu_edit = CreateMenu("Edit",0,window_menu)
CreateMenu("Cut",6,menu_edit) : AddMenuIcon(window_menu,6,"menuBMPS/menucut.bmp",16,16)
CreateMenu("Copy",7,menu_edit) : AddMenuIcon(window_menu,7,"menuBMPS/menucopy.bmp",16,16)
CreateMenu("Paste",8,menu_edit) : AddMenuIcon(window_menu,8,"menuBMPS/menupaste.bmp",16,16)
menu_disable = CreateMenu("Disable Items",0,window_menu)
CreateMenu("ITEM",9,menu_disable)
CreateMenu("Disable Item",10,menu_disable) : AddMenuIcon(window_menu,10,"menuBMPS/menudisable.bmp",16,16)
CreateMenu("Enable Item",11,menu_disable) : AddMenuIcon(window_menu,11,"menuBMPS/menuenable.bmp",16,16)
DisableMenuItem(window_menu,9)
menu_check = CreateMenu("Check Items",0,window_menu)
CreateMenu("ITEM",12,menu_check):CheckMenuItem(window_menu,12)
CreateMenu("Check Item",13,menu_check) : AddMenuIcon(window_menu,13,"menuBMPS/menudisable.bmp",16,16)
CreateMenu("Uncheck Item",14,menu_check) : AddMenuIcon(window_menu,14,"menuBMPS/menuenable.bmp",16,16)
UpdateWindowMenu(blitz_runtime_window,window_menu)
button = CreateButton("move cube",100,100,100,20,blitz_runtime_window,0)
button_quit = CreateButton("quit",100,140,100,20,blitz_runtime_window,0)
While Not KeyDown(1)
TurnEntity cube,1,1,1
UpdateWorld
RenderWorld
msg = WaitGUIEvents()
If msg <> 0 Then DebugLog "Event "+Hex(msg)
Select msg
Case WM_KEYDOWN
Text 100,50,"WM_KEYDOWN"
Case WM_MOVE
Text 100,50,"WM_MOVE"
Case WM_COMMAND
If lParamGUIEvents() = 0 Then ; menu selected
menuid = LOWORD(wParamGUIEvents())
Select menuid
Case 5
EndGUI
End
End Select
EndIf
Select HIWORD(wParamGUIEvents()) ; wNotifyCode
Case BN_CLICKED
gadget_selected = lParamGUIEvents()
Select gadget_selected
Case button
TranslateEntity cube,0,0,1
Case button_quit
EndGUI
End
End Select
Default
End Select
Default
Text 100,10,"NO EVENTS"
End Select
Text 200,10,"Menu Selected "+menuid
FlushGUIEvents
Flip
Wend
FreeGadget button
EndGraphics
EndGUI
Print "bye, press any mouse button"
MouseWait
End
this functions ok here on my pc, anyone wont to give it a try.
kev
|