Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.02.28;
Скачать: CL | DM;

Вниз

Как проверить, находится ли курсор над компонентом или нет?   Найти похожие ветки 

 
PlaZZma ©   (2002-02-12 17:17) [0]

Подскажите, плз, как проверить, находится ли курсор над компонентом или нет? Или как работать с CM_MOUSEENTER и CM_MOUSELEAVE.


 
Fedorenko Igor   (2002-02-12 17:21) [1]

используй событие OnMouseMove


 
Johnmen ©   (2002-02-12 17:33) [2]

>Fedorenko Igor : А если в данный момент мыша не мувится ?


 
Fedorenko Igor   (2002-02-12 17:47) [3]

Если не мувится, то смысла нет :)


 
Набережных С.   (2002-02-12 20:56) [4]

Так-же, как и любое другое сообщение:

procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;


или так:


FOldBtnPrc:TWndMethod;

procedure TForm0.NewBtnPrc(var Msg: TMessage);
begin
case Msg.Msg of
CM_MOUSEENTER: Button2.Caption:="Enter";
CM_MOUSELEAVE: Button2.Caption:="Leave";
else FOldBtnPrc(Msg);
end;
end;

procedure TForm0.FormCreate(Sender: TObject);
begin
FOldBtnPrc:=Button2.WindowProc;
Button2.WindowProc:=NewBtnPrc;
end;



 
Бурундук   (2002-02-12 21:32) [5]

Стандартный обработчик сообщений CM_MOUSEENTER/CM_MOUSELEAVE
посылает их родителю(в lParam находится указатель на себя),
поэтому можно поймать их так (для контролов, которые лежат
непосредственно на форме):

TForm1 = class(TForm)
...
procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;
...
end;

procedure TForm1.CMMouseEnter(var Msg: TMessage);
begin
if Msg.lParam <> 0 then
Caption := "Enter " + TComponent(Msg.lParam).Name
else
Caption := "";
end;

Причем этот метод сработает и для потомков TGraphicControl.

(Для тех, чей Parent <> Form, можно переписать
оконную ф-ю у Parent"a, как было предложено выше)


 
PlaZZma ©   (2002-02-12 23:48) [6]

Аггггромное спасибо!!!



Страницы: 1 вся ветка

Текущий архив: 2002.02.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
1-90534
Skate
2002-02-11 03:53
2002.02.28
Overload functions


1-90604
vovan1
2002-02-12 19:23
2002.02.28
Компонент для работы с архиваторами


1-90615
Alex Nazarenko
2002-02-12 07:33
2002.02.28
Отчеты для матричного принтера


1-90556
DimaIv
2002-02-11 18:31
2002.02.28
Как в Delphi6 сделать чтобы стандартной дерикторией


4-90696
Dimzel
2001-12-27 17:13
2002.02.28
Как Дебаггерить DLL В Delphi?