我做了一个组件,经过注册后,第一次在Samples栏中看见了图表,但是当我新建一个工程往上添加该组件时图表没有了,但是在Samples的propertys中仍可以看见该组件,请问怎样才能让它在VCL栏中显示出来??

解决方案 »

  1.   

    程序如下:
    unit Qmapdir;interfaceuses
      SysUtils, Classes, QControls, QStdCtrls,Windows,Messages,Graphics,
      Controls,Forms,Dialogs;type
      Tmapdir = class(TButton)
      private
        { Private declarations }
      protected
        { Protected declarations }
      public
        { Public declarations }
        name:string;
        pro:string;
        direction:string;
        procedure lookup(n,p,d:string);
        function dir(x1,x2,y1,y2,a1,a2,b1,b2:double):string;
        constructor Create(AOwner:TComponent);override;
        destructor Destroy;override;
      published
        { Published declarations }
        property Caption;
        property DragMode;
        property Enabled;
        property Font;
        property PopupMenu;
        property ShowHint;
        property Visible;
        property TabOrder;
        property OnDragDrop;
        property OnDragOver;
        property OnClick;
        property OnEndDrag;
        property OnEnter;
        property OnExit;
        property OnKeyDown;
        property OnKeyPress;
        property OnKeyUp;
        property OnMouseDown;
        property OnMouseMove;
        property OnMouseUp;
        //property OnStartDock;
        property OnStartDrag;
      end;procedure Register;implementationconstructor Tmapdir.Create(AOwner:TComponent);
    begin
      inherited Create(AOwner);
      Enabled:=True;
      Visible:=True;
      Height:=25;
      Width:=75;
    end;destructor Tmapdir.Destroy;
    begin
      inherited Destroy;
    end;procedure Tmapdir.lookup(n,p,d:string);
    begin
      name:=n;
      pro:=p;
      direction:=d;
    end;function Tmapdir.dir(x1,x2,y1,y2,a1,a2,b1,b2:double):string;
    begin
     if((a2<=x1)and(b1>=y2))then
      result:='NW';//NW
     if((x1<=a1)and(a2<=x2)and(b1>=y2))then
      result:='RN';//RN
     if((a1>=x2)and(b1>=y2))then
      result:='NE';//NE
     if((y1<=b1)and(b2<=y2)and(a2<=x1))then
      result:='RW';//RW
     if((y1<=b1)and(b2<=y2)and(a1>=x2))then
      result:='RE';//RE
     if((a2<=x1)and(b2<=y2))then
      result:='SW';//SW
     if((x1<=a1)and(a2<=x2)and(b2<=y1))then
      result:='RS';//RS
     if((a1>=x2)and(b2<=y1))then
      result:='SE';//SE
     if((b1>=y2)and(x1<a1)and(a1<x2))then
      result:='N';//N
     if((b1>=y2)and(x1<a2)and(a2<x2))then
      result:='N';//N
     if((b1>=y2)and(a1<x1)and(a2>x2))then
      result:='N';//N
     if((b2<=y1)and(x1<a1)and(a1<x2))then
      result:='S';//S
     if((b2<=y1)and(x1<a2)and(a2<x2))then
      result:='S';//S
     if((b2<=y1)and(a1<x1)and(a2>x2))then
      result:='S';//S
     if((a2<=x1)and(y1<b1)and(b1<y2))then
      result:='W';//W
     if((a2<=x1)and(y1<b2)and(b1<y2))then
      result:='W';//W
     if((a2<=x1)and(b1<y1)and(b2>y2))then
      result:='W';//W
     if((a1>=x2)and(y1<b1)and(b1<y2))then
      result:='W';//W
     if((a1>=x2)and(y1<b2)and(b1<y2))then
      result:='W';//W
     if((a1>=x2)and(b1<y1)and(b2>y2))then
      result:='W';//W
     if((a2>x1)and(b1<y2)and(a1<x1)and(b2>y2))then
      result:='SA';//SA
     if((a1<x2)and(b1<y2)and(a2>x2)and(b2>y2))then
      result:='SA';//SA
     if((a2>x1)and(b2>y1)and(a1<x1)and(b1<y1))then
      result:='SA';//SA
     if((a1<x2)and(b2>y1)and(a2>x2)and(b1<y1))then
      result:='SA';//SA
     if((x1<=a1)and(a2<=x2)and(y1<=b1)and(b2<=y2))then
      result:='SA';//SA
     if((a1<x1)and(a2>x2)and(b1<y1)and(b2>y2))then
      result:='SA';//SA
    end;procedure Register;
    begin
      RegisterComponents('Samples', [Tmapdir]);
    end;end.
      

  2.   

    我已经注册安装过了呀,但是在Samples栏里没有显示出来,但是在Samples的propertys中却有。