WB3D Help
Blitz3D Forums/Blitz3D Userlibs/WB3D Help
| ||
| Can someone please fix this so that only when you click on the "Open" menu, it will open file request. Also, can someone please help fix the file extension code, so it shows files like this: *.mp3 *.mid instead of: *.mp3;*.mid Include "WB3DStyles.bb"
; setup gfx mode.
Graphics3D 800,600,32,2
Global RuntimeWindow_hWnd = WB3D_InitializeGUI(SystemProperty("AppHwnd"),10,10,GraphicsWidth(),GraphicsHeight())
Global FrameStart
Global DeltaTime# = 0.1
Global GameTime# = 0
Global FPS = 1200
Global FPSCount = FPS
Global timFPS
Global keypressed
Global menu
WB3D_HotKeyEvent MOD_CONTROL,65,1 ; ctrl+a
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+"Ctrl+L",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)
Open = WB3D_CreateMenu("File",menu,OpenItem,0)
extension$ = ".txt,.mp3"
ext$ = FileExtension(extension$)
WB3D_OpenFileRequest("..", "..",ext$, "")
If opens = 1 Then DebugLog menu
; If KeyDown(29) And KeyHit(24) = 1 Then WB3D_OpenFileRequest("..", "..", ".mp3", "")
; 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)
statusbar = WB3D_CreateStatusBar(RuntimeWindow_hWnd,"")
WB3D_SetStatusParts statusbar,0
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,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
; Frame Update
FrameStart = MilliSecs()
If timFPS < FrameStart Then
FPS = FPSCount
FPSCount = 0
timFPS = FrameStart + 1000
DeltaTime = 1.0 / Float(FPS)
GameTime = GameTime + DeltaTime
End If
WB3D_SetStatusText statusbar,0,"FPS: "+FPS
; generate an internal blitz event
Flip
; get an event of the event queue.
event = WB3D_WaitEvent()
Select event
Case WB3D_EVENT_MENU
If menu = 43
EndIf
Case WB3D_EVENT_KEYPRESS
; wb_eventdata holds the key code that was pressed.
keypressed = WB3D_EventData()
DebugLog "Keypressed: "+keypressed + " : " + "flag: "+WB3D_EventFlagKey()
Select keypressed
;Case WB3D_KEY_CONTROL
; DebugLog "Keypressed: "+ + " : " + flagkey
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
FPSCount = FPSCount + 1
Flip
Wend
Function FileExtension$(ext$)
For I% = Len(ext$) To 1 Step -1
If Mid$(ext$, I%,1) = "," Then Return "*"+Left(ext$, I%-1)+";"+"*"+ Right$(ext$, I%-1)
Next
End Function
Function FileName$(File$)
For I% = Len(File$) To 1 Step -1
If Mid(File$, I%, 1) = "\" Or Mid(File$, I%, 1) = "/" Then Return Mid(File$, I% + 1)
Next
Return File$
End Function
Function FileExtention$(File$)
For I% = Len(File$) To 1 Step -1
If Mid(File$, I%, 1) = "." Return "."+Mid(File$, I% + 1)
If Mid(File$, I%, 1) = "\" Or Mid(File$, I%, 1) = "/" Then Return ""
Next
End Function
Function FilePath$(File$)
For I% = Len(File$) To 1 Step -1
If Mid(File$, I%, 1) = "\" Or Mid(File$, I%, 1) = "/" Then Return Left(File$, I% - 1)
Next
End Function
; Adds a file extention, if not exists. | FEt eine Dateiendung hinzu falls noch keine da ist.
Function AddFileExtention$(File$, Extention$)
If FileExtention(File$) = "" Then Return File$ + "." + Extention$ Else Return File$
End Function
; 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
EndThanks to anyone who can help! =) ~DarkShadowWing~ |
| ||
| Already answered in the main forum. |