TLabel = class(TCustomLabel)
  published
    property Align;
    property Alignment;
    property Anchors;
    property AutoSize;
    property BiDiMode;
    property Caption;
    property Color;
    property Constraints;
    property DragCursor;
    property DragKind;
    property DragMode;
    property Enabled;
    property FocusControl;
    property Font;
    property ParentBiDiMode;
    property ParentColor;
    property ParentFont;
    property ParentShowHint;
    property PopupMenu;
    property ShowAccelChar;
    property ShowHint;
    property Transparent;
    property Layout;
    property Visible;
    property WordWrap;
    property OnClick;
    property OnContextPopup;
    property OnDblClick;
    property OnDragDrop;
    property OnDragOver;
    property OnEndDock;
    property OnEndDrag;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
    property OnMouseEnter;
    property OnMouseLeave;
    property OnStartDock;
    property OnStartDrag;
  end;
这是delphi的源代码,为什么属性可以什么类型都没有呢

解决方案 »

  1.   

    这些属性都在TCustomLabel类或者更高的类中实现,而那些一般都把这些属性声明成Protected的
    所以Tlabel只是把这些属性Published出来,以便在对象观察器出现。
      

  2.   

    那为什么我找不到他的父类定义了这些东西,你能贴个源代码出来吗?
    比如说caption在哪里定义的
      

  3.   

    因为有的控件的属性是从其父类继承过来的,如果你看一下它的父类(TCustomLabel)的代码就知道
      

  4.   

    比如说caption在哪里定义的
    --------------------------
    这属性在更高的祖先类中了,一直追上去呀,去TControl看一看,应该是在那儿的
      

  5.   

    如果你安装的是Delphi企业版,把鼠标放在Caption上,然后按Ctrl,会出现下划线,点击,就可以看到定义的地方了