VCL主要框架

时间:2023-03-09 19:17:23
VCL主要框架

TObject

->TPersistent  Classes,抽象类

->TComponent  Classes,抽象类

->TControl  Controls

->TGraphicControl /TWinControl  Controls

  1. TObject主要定义了四种功能的虚方法

1.1.         对象的构造函数和析构函数(Create & Destroy)。

1.2.         返回运行时类型信息(因为在{$M-}状态下,所以看不到)。

1.3.         支持消息处理。由方法Dispatch和DefaultHander提供。

1.4.         支持接口实现。由方法GetInterface和类方法GetInterfaceEntry & GetInterfaceTable提供。

  1. TPersistent主要有两个功能

公开RTTI(因为{$M+}指令),再其子类实例同样具有RTTI。

2.1.         对象的相互复制。由AssignTo & Assign提供,需要在子类中实现。

2.2.         在流里读写属性。

  1. TComponent具有四类功能:

3.1.         注册后可出现在组件页,设计时可见可管理,运行时不可见。

3.2.         可以拥有别的对象,成为其他对象的拥有者(Owner)。

3.3.         加强了流的读写能力。

3.4.         可以转化为ActiveX控件和别的COM类。

  1. TControl

控件类,其控件运行时均可见。

  1. TWinControl是所有窗口控件的祖先类。

5.1.         可以有输入焦点。

5.2.         可以接收键盘输入。

5.3.         可以作为其他控件的容器。

5.4.         有句柄属性。(Handle)

  1. TGraphicControl

所有非窗口控件的祖先类,特点与前者相反,是轻量级控件,资源消耗比前者小很多。并且增加了Canvas属性和Paint方法。

特别地:TCustomControl 从TWinControl 继承,是窗口类。但是也具有非窗口类的特点:具有Canvas 属性和Paint 方法。