我从TPanel类中继承了一个组件,但它缺少象Image类中具有的picture属性,我怎样在panel类中获得picture属性?
谢谢

解决方案 »

  1.   

    TNewPanel=class(TCustomPanel)
       pvivate
        FImage:TImage;
        procedure SetImage(Val:TImage);
       protected
        procedure Paint;override;
       public
        constructor Create(AOwner:TCOmponent);override;
        destructor  destroy;override;
       published
        property Image:TImage read FImage write SetImage;
        ......
    construtor TNewPanel.Create(AOwner:TComponent);
    begin
       inherited Create(aOwner);
       SetBound(0,0,150,100);
       FImage:=TImage.Create(Self);
       FImage.Parent:=self;
      // FImage.AutoSize:=true;
       FImage.align:=alClient;
    end;
    destructor TNewPanel.Destroy;
    begin
     FImage.free;
     inherited destroy;
    end;
    procedure TNewPanel.SetImage(Val:TImage);
    begin
      FImage.assign(val);
      invalidate;
    end;
    procedure TNewPanel.paint;
    begin
     inherired;//
    end;
      

  2.   

    放个panel,在里面放个image控件选中panel 点击component菜单的create component...点击ok你就可以在vcl的templates页直接使用带有image的panel了