10 подписчиков
Delphi, Win32-приложение. Задача: обработать два события - передвижение мыши в окне и уход мыши из окна (совсем). Но как же криво ловятся события WM_MOUSEMOVE и WM_MOUSELEAVE...
1) WM_MOUSELEAVE ловится не только, когда мышь ушла за пределы окна, но и когда перемещается на форме с одного компонента на другой.
2) WM_MOUSELEAVE при уходе курсора с формы ловится при этом не всегда.
Похоже, лучший вариант - проверять положение курсора на экране относительно окна по таймингу. Но до последнего не хотел использовать для этого таймеры...
Около минуты
23 ноября 2022