Вниз
Скачать: CL | DM;

Компонент   Найти похожие ветки 

 
Igor_thief ©   (2002-07-16 12:18) [0]

Я делаю компонент, наследник TLabel. Переопределил событие OnMouseMove. Но у меня появилась проблемка. Никак не могу переопределить событие OnMouseLeave. Может кто стыкался с такой проблемой? Если да, то расскажите как ее решить.


 
Сатир   (2002-07-16 18:36) [1]

может, просто, не там переопределяешь?


 
Юрий Зотов ©   (2002-07-16 19:31) [2]

Таких событий нет, их надо вводить, а не переопределять (нельзя переопределить еще неопределенное). А вводятся они так:

type
TMyLabel = class(TLabel)
private
FOnMouseEnter: TNotifyEvent
FOnMouseLeave: TNotifyEvent;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
protected
procedure MouseEnter; dynamic;
procedure MouseLeave; dynamic;
published
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
end;

procedure TMyLabel.CMMouseEnter(var Message: TMessage);
begin
inherited;
MouseEnter
end;

procedure TMyLabel.CMMouseLeave(var Message: TMessage);
begin
inherited;
MouseLeave
end;

procedure TMyLabel.MouseEnter;
begin
if Assigned(FOnMouseEnter) then FOnMouseEnter(Self)
end;

procedure TMyLabel.MouseLeave;
begin
if Assigned(FOnMouseLeave) then FOnMouseLeave(Self)
end;


 
Igor_thief ©   (2002-07-17 12:56) [3]

>Юрий Зотов
Спасибо!
А почему OnMouseMove есть, а OnMouseLeave нет?


 
Eugene Lachinov ©   (2002-07-17 13:10) [4]

В Delphi 6 есть


 
Igor_thief ©   (2002-07-17 13:19) [5]

Eugene Lachinov © (17.07.02 13:10)
Я имею ввиду, что OnMouseMove можно переопределить, а OnMouseLeave ytkmpz.


 
Eugene Lachinov ©   (2002-07-17 13:42) [6]

Если переопределение это написание своей обработки события OnMouseLeave, то в Delphi 6 событие OnMouseLeave там же где и
OnMouseMove


 
Igor_thief ©   (2002-07-17 13:47) [7]

Eugene Lachinov © (17.07.02 13:42)
Я в своем компоненте (наследник TLabel) переопределил OnMouseMove. Пытался переопределить таким же способом OnMouseLeave, но компилятор выдает ошибку.


 
Cobalt ©   (2002-07-18 22:22) [8]

Какую ошибку? (Извините, тут телепатов нет ;(


 
Юрий Зотов ©   (2002-07-19 01:15) [9]

> А почему OnMouseMove есть, а OnMouseLeave нет?

Это вопрос не ко мне, а к Borland"у. Я сам сильно удивляюсь, почему они это не ввели - класс TControl на такое событие ну просто сам напрашивется. Как и на OnMouseEnter.

Может, просто забыли?



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.03 c
14-35423
Premium
2002-07-16 20:44
2002.08.12
Я поступил!


1-35267
JohnBurg
2002-07-30 19:15
2002.08.12
Как можно из вызванной DLL возвращать значения


4-35491
Serd_hhc
2002-06-02 16:24
2002.08.12
Невидимый процесс.


3-35182
sergey32
2002-07-22 10:22
2002.08.12
Ошибка в при использовании BDE


1-35278
sanilo
2002-07-31 14:39
2002.08.12
Расчет дат!




   Наверх