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 End Thanks to anyone who can help! =) ~DarkShadowWing~ |
| ||
Already answered in the main forum. |