Easy way to create windows menus & buttons?
Blitz3D Forums/Blitz3D Userlibs/Easy way to create windows menus & buttons?
| ||
| Is there any good tool or whatsoever (possibly with design option) to create menus & buttons ito a Blitz3D application. The tools in the toolbox seems not to be so good, or they are just demos and I think there should be a free tool for this available (like in PureBasic) or dead links like WinBlitz3D by Kev. What are you guys using for this? Ekix |
| ||
| AlphaGui..fully featured editor and stuff.. |
| ||
| The Toolbox link is wrong. Try this: http://www.whitegatesoftware.com/winblitz3d.zip |
| ||
| Jee, thanks, But all the examples end up to an error like "Function WB3D_InitializeGUI not found" or something else not found: Maybe I did miss something or what went wrong, have you got errors like this with WinBlitz3D? I also tried to find this AlphaGui, not could not find it, just a web page with losts of Google Ads... Ekix |
| ||
| For WinBlitz3D make sure you put blitz3d_gui_dll.dll in your Blitz3D userlibs folder. By the way your signature is a bit odd for this forum in my opinion. |
| ||
| I did put the DLL (blitz3d_gui_dll.dll) as you told into C:\Program Files\Blitz3D\userlibs folder, but for some reason it just does not work. Any idea why? Ekix |
| ||
| what verion of blitz3d are you using, update to the latest version should work. kev |
| ||
| It,s the latest one 1.98. I also installled the latest 1.99 update but the About popup says its 1.98 for some funny reason? Ekix |
| ||
| and you have copyed Blitz3D_GUI_DLL.decls to your blitz3d userlibs folder? |
| ||
| Yep, as I told you... I did put the DLL (blitz3d_gui_dll.dll) as you told into C:\Program Files\Blitz3D\userlibs folder, but for some reason it just does not work. Weird Ekix |
| ||
| ok can you provide some extra info system spec and os system your using, winblitz3d has been available for over 2 years without any problems. i notice you refer to 'blitz3d_gui_dll.dll' have you copyed the .decls as well you should have 2 files within the blitz3d userlibs folder. blitz3d_gui_dll.dll and blitz3d_gui_dll.decls sorry if you mean this its no so clear you have copyed both dll and decls to userlibs kev |
| ||
| Thanks Kev blitz3d_gui_dll.decls I missed to put into same directory as the dll file, now it's working and look's cool. Is there somewhere an example of using menus also, at least I could not find one? And is there some place (like forum or whatsoever) to ask in case I don't understand everything? I think someone should also correct the download link in toolbox... Thanks a lot for your help so far :=) Ekix |
| ||
| Yeah, it helps to put the decls in the userlibs folder. As an alternative to putting the dll in there as well (-you will want to issue it one day) I always create a folder next to my engine e.g. TLA\sys\ and drop the dll in there, then in the decls rename the .lib line to .lib "TLA\sys\WB3D.DLL". |
| ||
| Ekix, I have no forum but posting here with any problems normal results in help from myself or someone else that uses winblitz3d. see examples folder kev |
| ||
| I did go troug all the examples, but for some reason could not find a windows menu example, is it possible to create menus with WinBlitz3D? |
| ||
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 |
| ||
| Thanks Kevin It tolds me that "Not enough parameters" even that I did put it to the same folder as the include file....? Did I miss something once again? |
| ||
| download beta v1.1, the example possable needs beta v1.1 http://www.whitegatesoftware.com/WB3D_v1.1.zip what wb3d function call gives "Not enough parameters"? rember to ovewrite the .decls and .dll with the new beta version. kev |
| ||
| Thanks Kevin All the other examples wors now exept that WebBrowser.bb, which gives an error as below. Looks like its because of one line in the include file in "status_text$ = status_text$ + Chr(PeekByte"(bank,loop)) line. --------------------------- Runtime Error --------------------------- Offset out of range --------------------------- OK --------------------------- |
| ||
Function WB3D_GetBrowserStatusText$() bank = CreateBank(2001) WB3D_GetStatusTextB(bank,0) For loop = 0 To 2000 status_text$ = status_text$ + Chr(PeekByte(bank,loop)) Next FreeBank bank Return status_text$ End Function does this function correct? kev |
| ||
| Yep, works :=) Thanks Kev |
| ||
| By the way, in case you have time, could you create a simple example like just only menus: File Help Exit About Exit ends the program and About opens a small popup window which could be used for copyright etc.... purposes. There could be a small 3d cube rotating, so it would be easier to see where to put your own staff... or something like this. Thanks for your help anyway :=) |
| ||
| Can you add tabs, spinners, a position window function, and / or tree views? |
| ||
| Sorry. misread. Didnt see the function "CreateTabbers" :P |
| ||
| Is there a GUI Editor for WinBlitz3D so you can visually create the windows? kinda like the one you see on BlitzUI (being the BlitzUI Editor). Shouldn't be hard to make one... :rolleyes: |
| ||
| Kryzon, search this forum. I think someone _did_ make one, but I don't think it was completely finished. |
| ||
| Yeah I made one called "Schnok!" - It's not the best or the most rubust, but saves you tons of manual work at least.. I don't know if Kev still has it online somewhere - if not, I'll post it tomorrow (I'm at work at the moment).. Danny |