Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
ВнизOnMouseEnter and OnMouseExit Найти похожие ветки
← →
Sphinx © (2004-03-04 13:33) [0]Поискал немного и в Инете, и на этом форуме, но чего-то не нашел, как можно создать обработку событий появления над, к примеру TImage, курсора мыши onMouseEnter и соответственно onMouseExit за пределя Имадж.
← →
Ega23 © (2004-03-04 13:34) [1]OnMouseMove тебе нужен
← →
YuRock © (2004-03-04 13:36) [2]Для этого можно обрабатывать OnMouseMove над контролом, на котором лежит TImage. И если перед этим он был над TImage - значит, TImage "потерял" мышь
← →
Романов Р.В. © (2004-03-04 13:37) [3]Юрий Зотов © (25.09.02 20:56)
1. В обработчиках сообщений нет вызыовов inherited. Подозркваю, что дело может быть в этом (разорвана "родная" цепочка передачи сообшений Parent"ам, что нарушает механизмы VCL).
2. Если делать грамотно, то нужно вводить методы диспетчеризации. Они позволяют наследникам класса безопасно встроить свой код в цепочку обработки события.
TMyImage = class(TImage)
private
FOnMouseEnter: TNotifyEvent;
FOnMouseLeave: TNotifyEvent;
procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
protected
procedure DoMouseEnter; dynamic;
procedure DoMouseLeave; dynamic;
published
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
end;
procedure TMyImage.CMMouseEnter(var Msg: TMessage);
begin
inheried;
DoMouseEnter
end;
procedure TMyImage.CMMouseLeave(var Msg: TMessage);
begin
inherited;
DoMouseLeave
end;
procedure TMyImage.DoMouseEnter;
begin
if Assigned(FOnMouseEnter) then FOnMouseEnter(Self)
end;
procedure TMyImage.DoMouseLeave;
begin
if Assigned(FOnMouseLeave) then FOnMouseLeave(Self)
end;
← →
NAlexey © (2004-03-04 13:54) [4]>Романов Р.В. © (04.03.04 13:37) [3]
Зачем так сложно? Достаточно определить у формы(или у хозяина) события CM_MOUSEENTER, и CM_LEAVE где и проверять, если пришло от того кого нужно то и выполнять действия.
← →
Романов Р.В. © (2004-03-04 14:14) [5]
> NAlexey © (04.03.04 13:54) [4]
Для меня скопировать и вставить этот текст было проще чем писать это предложение.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c