Узнать находится ли мышка над формой
Дата: 07/11/2005
Тема: Формы и окна


Посмотрев тут несколько примеров по этому вопросу, решил - что меня это все не устраивает. один пример использовал процедуру 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';





Это статья Delphirus
http://www.delphirus.com.ru

URL этой статьи:
http://www.delphirus.com.ru/modules.php?name=News&file=article&sid=139