VCL的核心是类的层次式结构。TObject是VCL中所有对象的基类,它定义了操纵对象的基本方法。这个系统中的其他类都是TObject类的子类。



wKiom1bCtPTQAQxLAAEHsv493w0291.jpg

    TObject类,它是层次式结构中唯一的根类。TObject类是VCL类库中所有类的父类,它提供一些对象方法用于返回类信息和一些虚方法以能够在其派生类重载。TObject的特殊地位是它具有某些特殊功能,用户可以使用TObject数据类型代替VCL中任何数据类型,因为每个类都是从TObject类中派生出来的。

    TPersistent是TObject的下一级继承者,它是一个抽象类,主要用于提供对象之间的相互赋值和读写流的能力。

    TComponent又是TPersistent的继承者,这个类是VCL中所有组件的父类,TComponent定义了组件最基本的行为。对于任何一个Tcomponent类的子类,可以以流的形式存储在DFM文件(窗体文件)中(因为TPersistent是其父类,该类提供流的实现),并且可以拥有publish属性和可视化处理的事件。

    TComponent的一个最为重要的子类是TControl。继承自该类的组件可以称之为控件,也就是可视化组件。相应的,继承于TComponent而不是继承于TControl的组件是右面可视化组件。可视化组件在屏幕上有位置和大小,并且在设计时在窗体上的位置和运行时保持一致。

   继承于TControl类的子类中的TWinControl和TGraphicControl非常重要。继承于TWinControl的组件是基于系统窗口的可视化组件。它们的共同特点是拥有窗口句柄,并且可以接受输入焦点和包含其他组件。继承于TGraphicControl的组件称为图形组件或非窗口组件,这些组件没有窗口句柄,不能授受输入焦点和也不能包含其他组件。非窗口组件只占用较小的系统资源。