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

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

Как отследить событие выходы мыши за пределы компонента?


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]

Я знаю только один способ - ловить движения мыши на окружающих компонентах.


Наверх

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