TEasyCustomForm = class(TCustomForm)
  protected
    property Action;
    property ActiveControl;
    property Align;
    property Anchors;
    property AutoScroll;
    property AutoSize;
    property BiDiMode;
    property BorderIcons;
    property BorderStyle;
    property BorderWidth;
    property Caption;
    property ClientHandle;
    property ClientHeight;
    property ClientWidth;
    property Color;    
    property Constraints;
    property Ctl3D;
    property DefaultMonitor;
    property Enabled;
    property ParentFont default False;
    property Font;
    property FormStyle;
    property Height;
    property HelpFile;
    property HorzScrollBar;
    property Icon;
    property KeyPreview;
    property Menu;
    property OldCreateOrder;
    property ObjectMenuItem;
    property ParentBiDiMode;
    property PixelsPerInch;
    property PopupMenu;
    property Position;
    property PrintScale;
    property Scaled;   
    property ShowHint;    
    property VertScrollBar;
    property Visible;
    property Width;
    property WindowState;
    property WindowMenu;
    property OnActivate;
    property OnCanResize;
    property OnClick;
    property OnClose;
    property OnCloseQuery;
    property OnConstrainedResize;
    property OnContextPopup;
    property OnCreate;
    property OnDblClick;
    property OnDestroy;
    property OnDeactivate;
    property OnDockDrop;
    property OnDockOver;
    property OnDragDrop;
    property OnDragOver;
    property OnEndDock;
    property OnGetSiteInfo;
    property OnHide;
    property OnHelp;
    property OnKeyDown;
    property OnKeyPress;
    property OnKeyUp;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
    property OnMouseWheel;
    property OnMouseWheelDown;
    property OnMouseWheelUp;
    property OnPaint;
    property OnResize;
    property OnShortCut;
    property OnShow;
  end;

解决方案 »

  1.   

    问题在二楼:一般我们在类中定义属性,都要定义类型,可上面这个新类都是直接写的,我能猜到应该是直接继承父类的,我想问的是这些属性很多是本类可以直接访问的,这样定义是为什么呢?因为面向对象的知识都是从C++中学到的,所以对DELPHI的这一写法还不是太明白,麻烦指点一下!谢谢!
      

  2.   

    它的父类,定义在
    private 中的私有属性,到了这个子类,就定义到 protected, 也就是说,公开给自己的子类可用
      

  3.   

    "一般我们在类中定义属性,都要定义类型." 我也一直有这样的迷惑,我以为是继承父类的类型
    如TFORM中的
    published 
      property Color;
    继承TCustomForm
    public
     property Color nodefault;
    最终继承自TControl 
    Protect 
       property Color: TColor read FColor write SetColor stored IsColorStored default clWindow;
    这样就有定义类型了.Color属性属于TColor类,给它赋值时调用SetColor函数.读值的取FColor的值读取. 
      

  4.   

    这个是Delphi编写Component时候的一个特点。
    如果你不是写component完全没有这个必要。
    在子类里面公布父类的东东。类型在父类里面已经定义好了。 
      

  5.   

    父类中定义了很多的属性和事件。 但是并不一定它的每一个子类都想这些做为公开的让外部调用。每个子类可以有选择的公开。这些在父类中都应是定义在protected,即只有子类可以访问。我记得C中好象不能这样控制吧?忘记了只学了几天C 
      

  6.   

    我最近想学习easyNSE类库,可是研究了好几天,没有一点进展,发现这个类库很大,继承层次很多,而且单元也多,互相引用,交织在一起,有没有源代码分析这样的工具啊,有的给说一声,谢谢!
    上面的这个问题是在学习 easyNSE过程中产生的,对各位高手来说肯定不值一提!
      

  7.   

    easyNSE几乎能完成SHELL和IE的所有扩展,但是还不太稳定,不过已经做非常好了,能研究一下,自己扩展,简直就完美了,可以这个类库我学起来很吃力,这个easyNSE确实很利害,像IUNknow接口,自己又实现了一遍,已经不依赖VCL了