Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создаю компонент, на основе TImage... [D6, WinXP]


DNT ©   (2002-07-05 21:57:00) 

Создаю компонент, на основе TImage.
Он должен содержать еще один TPicture.
Приведенный ниже код не работает, объясните плз.

unit ImgEx;

interface

uses
Windows, Messages, SysUtils, Classes, Controls, Graphics, ExtCtrls;

type
TImgEx = class(TImage)
private
{ Private declarations }
FOnMouseLeave: TNotifyEvent;
FOnMouseEnter: TNotifyEvent;
FDoHighlight: Boolean;
FPicOn:TPicture;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property DoHighlight: Boolean read FDoHighlight write FDoHighlight;
property PicOn: TPicture read FPicOn write FPicOn;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents("Additional", [TImgEx]);
end;

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

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

end.


DNT   (2002-07-06 11:49:00) [1]

TNX!


MBo   (2002-07-06 06:59:00) [2]


procedure SetPicOn(Value: TPicture);
constructor Create(AOwner:TComponent);override;

property PicOn: TPicture read FPicOn write SetPicOn;

constructor TImgEx.Create(AOwner: TComponent);
begin
inherited;
FPicOn := TPicture.Create;//как же без этого ;))
//посмотри исходник TImage, добавь FPicOn.OnChange и т.д.
end;

procedure TImgEx.SetPicOn(Value: TPicture);
begin
FPicOn.Assign(Value);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо