maxgui : mouse enter inside a textfield
BlitzMax Forums/BlitzMax Beginners Area/maxgui : mouse enter inside a textfield| 
 | ||
| hi ! how to detect that the mouse is inside a textfield gadget ? Could i use EVENT_MOUSEENTER or EVENT_MOUSEMOVE to check this ? Thanks ! 
Local MyWindow:TGadget=CreateWindow("test", 200,200,320,240)
Local MyField:Tgadget = CreateTextField (10,10,200,20, MyWindow)
Repeat
  WaitEvent()
	Print CurrentEvent.ToString()
	
  Select EventID()
	  Case EVENT_WINDOWCLOSE
	     End
	  Case EVENT_MOUSEENTER, EVENT_MOUSEMOVE
	 	Select EventSource()
	
			Case MyField
				Notify "mouse is inside the textfield"
				
		End Select
	
   End Select
Forever
 | 
| 
 | ||
| Those events only work with a canvas (and a panel iirc). | 
| 
 | ||
| Thanks for the info. i want display some help info into the statusbar when the user enter text into the textfield (in fact when the gadget got the focus) . How to do that ? Some idea ? | 
| 
 | ||
| That could be done through the activegadget function. (might be that the event for gadgetaction is fired on activating as well) | 
| 
 | ||
| this ok with gadgetaction event. i don't know exactly how to do the same thing with activegadget. Not exatly works as i want too : the user must enter text to see the help (into the status bar). 
Strict
Local MyWindow:TGadget=CreateWindow("test", 200,200,320,240)
Local MyField:Tgadget = CreateTextField (10,10,200,20, MyWindow)
ActivateGadget (MyField)
Repeat
  WaitEvent()
	Print CurrentEvent.ToString()
	
  Select EventID()
	  Case EVENT_WINDOWCLOSE
	     End
	
	  Case EVENT_GADGETACTION
	
		Select EventSource()
		
			Case MyField
				SetStatusText MyWindow, "ok"
				
		End Select 
	
   End Select
	If ActiveGadget() = MyField
			SetStatusText MyWindow, "ok2"
	End If
	
Forever
 | 
| 
 | ||
| max lacks a decent way to detect focus gain and loss, which makes it rather hard to implement anything more that rather basic gui feedback / validation, guess we have to wait for it to mature a bit... |