Форум: "Основная";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];
ВнизСобытие 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.024 c