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... |