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

Вниз

Событие OnMouseOver   Найти похожие ветки 

 
bers   (2003-10-08 09:56) [0]

Доброго времени суток. Подскажите плз. есть ли в Delphi событие типа JavaScript-овского OnMouseOver или его надо как-то программировать(как?).
Конечно есть OnMouseMove, но как тогда отследить событие покидания мышой зоны компонента?
Заранее благодарен.


 
MBo ©   (2003-10-08 10:03) [1]

Нужно сделать наследника компонента, реализовав обработку CM_MouseEnter и Leave.

иногда можно и по OnMouseOver контрола выставлять флаг -"внутри", а по OnMouseOver парента (формы обычно) - снимать его


 
MBo ©   (2003-10-08 10:03) [2]

во втором предложении - OnMouseMove, конечно


 
bers   (2003-10-08 10:20) [3]

За 2 вариант спасибо - разобрался, а можно Ма-а-а-а-ленький примерчик про CM_MouseEnter и Leave. :)))


 
ZEE ©   (2003-10-08 10:28) [4]

> bers (08.10.03 10:20) [3]
> За 2 вариант спасибо - разобрался, а можно Ма-а-а-а-ленький
> примерчик про CM_MouseEnter и Leave. :)))

надо создать потомка компонента и прицепить эти це-эмы:

TMyComponent = class(TSomeComponent)
private
...
FOnMouseEnter: TNotifyEvent;
FOnMouseLeave: TNotifyEvent;
...
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
...
protected
...
public
...
published
...
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
end;


ну и обработчики к ним подвесить:

procedure TMyComponent.CMMouseEnter(var Message: TMessage);
begin
inherited;
if Assigned(FOnMouseEnter) then FOnMouseEnter(Self);
end;

procedure TMyComponent.CMMouseLeave(var Message: TMessage);
begin
inherited;
if Assigned(FOnMouseLeave) then FOnMouseLeave(Self);
end;


 
bers   (2003-10-08 10:48) [5]

Спасибо!



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
4-65667
NVjed
2003-08-14 12:53
2003.10.20
блокировка системы


11-65402
FIj
2003-01-31 04:40
2003.10.20
Апдейт КОЛа


14-65589
ZeroDivide
2003-10-02 10:33
2003.10.20
Космические корабли, железная дорога и лошади


14-65624
Омлет
2003-09-30 21:50
2003.10.20
Именинники 30 сентября!


4-65672
while(1=1)
2003-08-13 18:52
2003.10.20
Нужно узнать что передает через message одна программа другой!