ljaques
asked on
Knowing when MOUSE HAS LEFT A Control
Is there a way of knowing when the mouse has left a control.
I know there is an event called MouseMove() that handles when a mouse has entered into a controls region BUT is there a way of knowing when the mouse has actually left this region?
I know there is an event called MouseMove() that handles when a mouse has entered into a controls region BUT is there a way of knowing when the mouse has actually left this region?
ASKER
Problem is the FORM's MOUSEMOVE event doesnt activate when in the menu area or its title bar or its form frame (if form is resizeable -- and mine is). I have so many controls on this form there are only tiny areas in which the form's mouse move event can actually trigger...and those areas are either the title bar, menu, or form frame...and since the event doesnt occur in those areas i am LOST...HELP!
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks...i got it working in the EXACT way you were describing!
Excellent! You know the win32 api isn't hard at all as long as some tells you what each msg is for and when it's fired as well as how to interpret the parameters.
I don't know why VB controls don't have this GotCapture and LostCapture event, how hard would it be(probably take less than 30 mins for each control) and obviously everyone wants these. It's too bad VB doesn't remove the intrinsic controls from the runtime and just include the source(in VB of course) for each so we can modify them ourselves. I just wish Delphi's IDE was as good as VB's, I'll give VB that credit.
John
I don't know why VB controls don't have this GotCapture and LostCapture event, how hard would it be(probably take less than 30 mins for each control) and obviously everyone wants these. It's too bad VB doesn't remove the intrinsic controls from the runtime and just include the source(in VB of course) for each so we can modify them ourselves. I just wish Delphi's IDE was as good as VB's, I'll give VB that credit.
John
Johnn, ljaques,
I just bought this PAQ and I would be interested in knowing how exactly this was implemented. Could one of you add the code as a comment?
I'm not very comfortable with API calls so I would appreciate it if you could make this idiot proof
Thanks!
I just bought this PAQ and I would be interested in knowing how exactly this was implemented. Could one of you add the code as a comment?
I'm not very comfortable with API calls so I would appreciate it if you could make this idiot proof
Thanks!
use a sub classer to subclass the control you want and do something like this.
'in the subclassers wndproc event
Select case msg
case WM_CAPTURECHANGED
'my mouse is losing the mouse capture
End Select
'in the subclassers wndproc event
Select case msg
case WM_CAPTURECHANGED
'my mouse is losing the mouse capture
End Select
Hello Johnn,
Sorry, but I'm not familiar with the term subclassing - how do you subclass a control? Could you write up a simple example with a form with just one text box on it?
Much obliged.
Sorry, but I'm not familiar with the term subclassing - how do you subclass a control? Could you write up a simple example with a form with just one text box on it?
Much obliged.
since the mouse is over the form, it must have left the control!