Как определить, находится ли мышь внутри всей формы и дочерних элементов управления?
Мне нужно определить, когда пользователь наводит указатель мыши на форму и все ее дочерние элементы управления, а также когда он покидает форму. Я попробовалMouseEnter
а такжеMouseLeave
события формы, я попробовалWM_MOUSEMOVE
& WM_MOUSELEAVE
а такжеWM_NCMOUSEMOVE
& WM_NCMOUSELEAVE
Пары сообщений Windows, но ни один, кажется, не работает, как я хочу ...
Большая часть моей формы занята дочерними элементами управления многих видов, там не так много видимой клиентской области. Это означает, что если я перемещу мышь очень быстро, движение мыши не будет обнаружено, хотя мышь находится внутри формы.
Например, у меня есть TextBox, который закреплен внизу, а между рабочим столом и TextBox есть очень маленькая граница. Если я быстро переместлю мышь снизу в TextBox, движение мыши не будет обнаружено, но мышь находится внутри TextBox, следовательно, внутри формы.
Как я могу достичь того, что мне нужно?