Event Questions
BlitzPlus Forums/BlitzPlus Beginners Area/Event Questions| 
 | ||
| I'm still practically a fetus to blitz+, and I haven't utilized any of the GUI capabilities such as Gadgets, Events, Windows and Toolbars. I was just curious in how I could use these in a program usefully, Thanks Siopses | 
| 
 | ||
| 
Global window% = CreateWindow()
Repeat
   Events()
Forever
Function Events(wait% = 10)
   Select WaitEvent(wait%)
      Case $401 ; Gadget has been pressed/modified
         Select EventSource()
            case button%; Your gadgets (buttons etc)
         End Select
      Case $803 ; X button has been pressed
         Select EventSource()
            Case window%
               FreeGadget window%
               End
            Default
               FreeGadget ActiveWindow()
         End Select
   End Select
End Function
 | 
| 
 | ||
| Events in a nutshell: You're only doing things when an event happens. With polling (like in B3d) you're *always* doing things 'n updates, even if nothing new happens. The event way is the way the OS works, so it's a lot better, if you ask me. The B+ events are mainly done for the Windows GUI, but the timer event could also be used for games. Instead of WaitTimer you just use a timer event, and on each timer event you update your game. Basically: once you get the idea of events you never want to go back, in Blitzmax this is all even better as you can make your own events there. | 
| 
 | ||
| How would I use these events, I know that there useful, but how would I use, for instance a menu. How would I make and use a menu? | 
| 
 | ||
| A simple window menu? That's all written down in the manual including a perfect example. Really, the B+ manual is quite good, first toy a bit with the manual and its small examples, then after a week try some new code of your own. Unless of course you were referring to non-GUI menus. That's something you'll have to code yourself then.. | 
| 
 | ||
| Thanks for the help! :) | 
| 
 | ||
| I've already been using those manual example's, they don't help me much, I just wanted to know how I could use a menu on a window. The example isn't going to assist me there infact, whenever I try to use what it tells me a error screen pops up. | 
| 
 | ||
| Dunno, I learnt myself B+ without this forum, just with the manual.. was all pretty easy. Anyhoo.. this should work. 
window=CreateWindow("window",0,0,640,480)
filemenu=CreateMenu("&File",0,WindowMenu(window))
  filemenuopen=CreateMenu("&Open",10,filemenu)
  	empty=CreateMenu("",999999,filemenu)
  filemenusave=CreateMenu("&Save",20,filemenu)
  filemenusaveas=CreateMenu("Save &As",30,filemenu)
  	empty=CreateMenu("",999999,filemenu)
  filemenuquit=CreateMenu("&Quit",40,filemenu)
editmenu=CreateMenu("&Edit",1,WindowMenu(window))
toolsmenu=CreateMenu("&Tools",2,WindowMenu(window))
helpmenu=CreateMenu("&Help",3,WindowMenu(window))
UpdateWindowMenu window
Repeat
	WaitEvent()
	If EventID()=$803 End
	
	If EventID()=$1001
		Select EventData()
			Case 10 RequestFile("test")
			Case 40 End
		End Select
		DebugLog EventData()
	EndIf
Forever
 |