![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как определить момент покидания окна курсором [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