Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как определить момент покидания окна курсором [D5, WinXP]


k ©   (2002-10-03 12:42:00) 

Уважаемые знатоки! как определить момент покидания окна курсором
(скажем чтоб его перерисовать и удалить всякие линии, которые должны по сценарию двигаться за курсором). наверняка есть к-н Message, не вешать же перерисоку на таймер. спасибо


Юрий Зотов   (2002-10-05 02:07:00) [1]

Если пишете компонент - используйте CM_MOUSELEAVE/ENTER. Это будет и самое простое, и вполне надежное.

Годится и для TGraphicControl"ов тоже.


k   (2002-10-04 15:47:00) [2]

rxLib - не то

я поизучал хелп

стандартный способ решения - ф-ци SetCapture ReleaseCapture & message WM_CAPTURECHANGED,
но я так и не добился чтоб это без глюков работало. короче я не понял как их ПРАВИЛЬНО использовать (может у к-н есть примерчик с исп. этих ф-ций, буду признателен).

но для того, что я пишу (компонент на базе TWinControl) вполне годится сообщение CM_MOUSELEAVE (обьявляется в controls.pas)

а что делает TrackMouseEvent я так и не понял.....


Acidy   (2002-10-04 07:16:00) [3]

В rxLib есть компонент rxWindowHook.....


Suntechnic   (2002-10-03 15:44:00) [4]

Если речь вести об Win API, тогда как минимум 2 способа:
1) См. Игорь Шевеченко и TrackMouseEvent
2) См. SetCapture


k   (2002-10-03 14:55:00) [5]

но
CM_MOUSELEAVE вообще нет ни в messages.pas ни в help
WM_KILLFOCUS это не то, оно вызывается когда фокуспокидает окно
TrackMouseEvent - да, есть такая ф-ция, да только не пойму что она делает..


Игорь Шевченко   (2002-10-03 12:50:00) [6]

CM_MOUSELEAVE, WM_KILLFOCUS, TrackMouseEvent


Наверх

Титульная страница Поиск, карта сайта Написать письмо