As sViz has told, this doesn't work, because when the mouse enters a child object, it leaves the parent object, even if the pointer is always "over" it (that's the way DX is done). So in this case, the
Object_OnMouseEnterEx sub receives as obj the child object, as expected, but in the same time, the
Object_OnMouseLeaveEx receives as obj the parent object, so it desappears.
The only solution I've found, and sViz told me on another post he found the same, is to test if the mouse cursor is always inside the bounds of the parent object (in a rectangular manner), like this :
When that sub is trigerred by the entering of the mouse over a child object, its cursor is always in the rectangular bos of the parent object, so the result of the If...Then will be false and then the parent won't hide.
To go further, it's possible by this method to add a "margin" around the object, by setting it at the calculation of l,r,t & b, like that :
l = Object.Left - 5
r = Object.Right + 5
etc...
In this case, the parent object hides when the mouse leaves it PLUS a 5 pixels margin.
Bye...