![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Наследник TImage с парочкой новых свойств [D6, WinXP]
Любопытствующий © (2006-05-17 21:24:00)Мастера! Создаю вот компонент - первый раз. Наследник
TImageс парой свойств отTLabel-OnMouseEnter,OnMouseLeave. Попытался просто скопировать изTLabelописание этих свойств - только теперь после этой операции все старые свойства новогоTNewImageстали недоступны - типаPicture.LoadFromFileи все такое... Что там надо написать, чтобы и старые свойства остались открыты и новые появились?
Любопытствующий (2006-05-18 12:54:00) [21]Это я понял! А вот еще вопрос: можно ли автоматизировать события
OnMouseEnter,OnMouseLeave? Например создать еще одно свойствоPicture2куда будет загружаться еще одна картинка, а затем поOnMouseEnterбудет загружатьсяPicture2, а поOnMouseLeaveбудет грузиться обратноPicture? Типа такой кнопки в виде рисунка... Второе свойствоPicture2я уже сделал и описал, а вот чего нужно дописать вOnMouseEnter,OnMouseLeave?
Юрий Зотов (2006-05-17 22:22:00) [22]TNotifyLabel везде заменить на TMyImage.
Любопытствующий (2006-05-17 22:04:00) [23]Спасибо!
Юрий Зотов (2006-05-17 21:54:00) [24]
type
TMyImage = class(TImage)
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 TNotifyLabel.CMMouseEnter(var Message: TMessage);
begin
inherited;
MouseEnter
end;
procedure TNotifyLabel.CMMouseLeave(var Message: TMessage);
begin
inherited;
MouseLeave
end;
procedure TNotifyLabel.MouseEnter;
begin
if Assigned(FOnMouseEnter) then
FOnMouseEnter(Self)
end;
procedure TNotifyLabel.MouseLeave;
begin
if Assigned(FOnMouseLeave) then
FOnMouseLeave(Self)
end;
Любопытствующий (2006-05-17 21:50:00) [25]Уважаемые, помогите! ОЧень нужно!