![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отследить событие выходы мыши за пределы компонента?
AlexMey © (2002-05-24 13:34:00)Уважаемые мастера и подмастерья.
Прошу прощения за дилетантский вопрос.
Подскажите...
Как отследить событие выходы мыши за пределы компонента (например: Tpanel) ?
Заранее благодарен, Александр.
Kozhanov (2002-05-24 14:01:00) [1]> AlexMey
TPanel является наследником TControl.
объявление :
TYourPanel = class...
.........................
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
.........................
реализация :
TYourPanel.CMMouseLeave(var Message: TMessage);
begin
//your code goes here...
end;
AlexMey (2002-05-24 13:52:00) [2]А где его смотреть - CM_MOUSELEAVE ? Я в "Delphi Help" в разделе "Index" такого вообще не нашёл. Вот что я там нашёл -
Respond to mouse moving out of control area.
procedure MouseLeave(AControl: TControl); dynamic;
Description
MouseLeave is called automatically when the mouse cursor moves out of the control"s area.
As implemented in TControl, MouseLeave calls MouseLeave for its parent control, if it has a parent control. Descendent classes can modify or extend this behavior.
А является ли TPanel наследником TControl?
Kozhanov (2002-05-24 13:45:00) [3]> AlexMey
Не событие, а сообщение.
Извиняюсь...
Shaman_Naydak (2002-05-24 13:44:00) [4]Ну вот еще новости..
Cм. события CM_MOUSEENTER, CM_MOUSELEAVE -если наследуешь свой компонент..
Иначе когда нужно начать отлавливать иышу делаешь
SetCaptureControl, у некоторых контролов может быть в паблик вытащено свойство MouseCapture для облегчения так сказать процесса
Kozhanov (2002-05-24 13:41:00) [5]> AlexMey
Ловите событие CM_MOUSELEAVE
Andrey007 (2002-05-24 13:36:00) [6]Я знаю только один способ - ловить движения мыши на окружающих компонентах.