VCL初探

Visual Component Library(可视化组件库)是一个设计完美的架构,作为一个很好的架构,VCL最大限度利用了继承,VCL架构的主体是由代表组件的类组成。其他的VCL类与组件没有关系,这些类完成一些杂务管理,比如像帮助程序类,并且提供一些应用服务。

VCL类分层处理组件系统是很复杂的,值得庆幸的是,一般开始在Delphi中编程时不需要了解VCL的每个具体细节。在VCL链的顶级,将会发现TObject。如下图显示了一些主要基本类及由它们派生的类。

0101

TObject是所有VCL组件类的最高父类。TObject底下就是TPersistent,这个类与组件把它自身存到文件和内存性能有关,同时它也与一些杂乱的具体细节有关,这些细节是不需要了解的。对于Delphi中的程序绝大部分应用都不需要了解太多的TPersistent。

对于组件来说,TComponent类时一个更直接的基类,这个类提供了基本组件所需要的所有功能。非可视化组件是从TComponent派生出来的,可视化组件是从TControl派生而来的。但从上面的图表来看,它是由TComponent派生而来,TControl提供了可视化组件所需要的其他一些功能,个别组件要么是从TGraphicControl派生而来,要么是从TWinControl派生而来。

当在窗体上拖放一个组件时,Delphi就建立一个指向此组件的指针,这个组件要在窗体类中声明,这样就可以在代码中存取此组件。Delphi用组件的Name属性来声明指针变量名,当前面建立一个应用程序时,在窗体上放置一个Memo组件,这时Delphi建立一个TMemo变量,并给它取名为Memo。

同样的,当在窗体上建立一个按钮时,Delphi会建立一个TButton变量来表示此按钮。在任何事情发生之前,Delphi已经从TForm类中派生出一个新类,当然并为此类建立了一个实例来代表此窗体。

在用VCL工作之前,显然需要对VCL的类和组件有一定了解才行,在后面两讲中我们将讲解一些常用类。

你可能感兴趣的:(VC)