Узнать находится ли мышка над формой

Статьи » Формы и окна » Узнать находится ли мышка над формой

Посмотрев тут несколько примеров по этому вопросу, решил - что меня это все не устраивает. один пример использовал процедуру SetCapture но она мне не понравилась тем, что контрол теряется и к примеру форму нельзя двигать. другой пример с отловом событий CM_MOUSELEAVE/CM_MOUSEENTER тоже меня не устроил - потому что глючит и когда быстро двигать мышкой не срабатывает. я решил посадить всю эту проверку на таймер задав его интервал к примеру 50 мс и создав событие (см. ниже)

if ((Mouse.CursorPos.X >= Form1.Left) and (Mouse.CursorPos.X = Form1.Top) and (Mouse.CursorPos.Y <= Form1.Top + Form1.Height)) then Form1.Caption := 'Mouse on Form' else
Form1.Caption := 'Mouse out';

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com