Найти в Дзене
10 подписчиков

Delphi, Win32-приложение. Задача: обработать два события - передвижение мыши в окне и уход мыши из окна (совсем). Но как же криво ловятся события WM_MOUSEMOVE и WM_MOUSELEAVE...

1) WM_MOUSELEAVE ловится не только, когда мышь ушла за пределы окна, но и когда перемещается на форме с одного компонента на другой.
2) WM_MOUSELEAVE при уходе курсора с формы ловится при этом не всегда.

Похоже, лучший вариант - проверять положение курсора на экране относительно окна по таймингу. Но до последнего не хотел использовать для этого таймеры...
Около минуты