All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
asp.net中Session对象的概念以及属性
ASP.NET动态创建控件之绝境求生_[Asp.Net教程]
实现在页面中单击按钮关闭页面_[Asp.Net教程]
javascript,编写的文字放大效果_JavaScript技术_编程技术
用动态网页技术PHP生成验证码图片的源代码_php资料_编程技术
VS2008的Linq,更新数据就那么费劲?_.net资料_编程技术
C#使用foreach来读取记录_[Asp.Net教程]
ASP.NET2.0,GridView绑定XmlDocument_[Asp.Net教程]
使用,SQL,Server,2005,数据库镜像功能时需要考虑的问题_[SQL,Server教程]
ASP.NET技巧:用MasterPage,代替,PageBase_[Asp.Net教程]
Reading number is top 10 pictures
The dog buy the ham oneself
Summer is most suitable for young people to travel in China9
Hunan province aizhai super-large suspension bridge open to traffic and 4 world first1
Household design classic black and white
传几朵花
看到这名字我也是醉了。。。。。。
职场回春术
Beautiful vacuum girl3
So beauty, will let you spray blood5
2012 national geographic daily picture8
Download software ranking
Sora aoi - one of more PK
matrix3
Photoshop 8.0图象编辑软件
Boxer vs Yellow4
DreamWeaver8
I for your crazy
Red cliff
Unix video tutorial10
Sora aoi‘s film--Lust fan wall
仙剑奇侠传98版歌曲
aaa published in(发表于) 2014/7/19 0:12:50 Edit(编辑)
delphi组件VCL类库结构

delphi组件VCL类库结构

delphi组件VCL类库结构

Delphi 与其他编程工具比较,最大优势是为用户提供了大量组件。通过这些组件,Delphi 程序员可以方便、快捷地创建满足要求的应用程序。因为Delphi 组件是在VCL 类库的基础上继承、封装的,所以本章首先将对VCL 类库作一个大致的介绍,然后再详细地讲述如何使用组件编写简单的Delphi程序。

可视化类库(VCL)

在Delphi 中,每个组件都可以看作是一个对象。从可视化编程的角度来看,对象是一个具有属性(数据)和行为方式(方法)的实体。简单地说,属性是用来描述对象,方法让对象做一些动作,而对象动作时常会引起事件。一个对象建立以后,其操作就通过与该对象有关的属性、事件和方法来描述。Delphi 中的对象,是在对VCL 类库中基类的扩展、继承的基础上封装而成的,在使用Delphi 组件编程前,读者必须了解VCL 类库的一些基础知识。

VCL 类库结构

VCL(全称是Visual Component Library,可视化组件库),支持Object Pascal 语言。它是BorlandDelphi 和C++ Builder 共同使用的一个符合工业标准的组件库,也是真正意义上的面向对象的组件库。所以Delphi 的组件封装了一些数据集和数据访问的过程与函数,从祖先类中继承了数据和行为。尽管每个组件有其特殊性,但是所有组件都从它们的共同祖先TComponent 那里继承某些公共属性,可以说TComponent 定义了组件用于Delphi 环境所必需的最小属性集。VCL 类的继承关系如图5-1 所示。



图5-1 VCL 类图的主要分支

从上面的例子可以看出,TObject 是VCL 的祖先类,这也是Object Pascal 语言所规定的。Object 的中文意思是“对象”,它在现实生活中是很常见的,例如一个人是一个对象,一台计算机是一个对象。如果将一台计算机拆开来看,又有显示器、主机箱、主板、硬盘、内存条等,每一个又都是一个对象,即计算机对象是由多个“子”对象组成的。如同在可视化编程中,常见的对象有窗体、按钮、编辑框等。

TObject 以及TObject 声明所在的System.pas 都是编译器内置支持的,在Project 中已经被编译器自动包含了System 单元,因此用户无法修改、删除System.pas 中的任何东西,也无法将System.pas加入到自己的Project 中,否则会得到“Identifier redeclared ’system’”的错误提示。TObject 封装了Object Pascal 类/对象的最基本行为。因为Delphi 的核心是层次结构,系统中的每一个类都是TObject 类的子类,整个类的层次结构只有一个TObject 根类,所以允许用户在系统中用TObject 数据类型替代任何类的数据类型。

在TObject 基类的基础上,VCL 定义了很多子类。其中有两个比较重要的子类:TPersistent 和TComponent。TPersistent 由TObject 派生,它自身及其派生类对象具有自我保存、持久存在的能力。TComponent 由TPersistent 派生,这条分支之下所有的类都可以被称为“组件”。组件的一般特性如下。

(1)可出现在开发环境的“组件板”上。

(2)能够拥有和管理其他组件。

(3)能够存取自身(这是因为TComponent 派生自TPersistent)。

TControl 派生自TComponent,也是Delphi 应用程序的核心元素和界面设计的重要组成部分。当用户编写程序时,首先要选择一些组件并定义它们的相互作用。VCL 封装了Windows 底层的API 函数,使用户在不需要了解更多有关Windows 编程知识的前提下,也可以开发出界面美观和功能强大的Windows 程序。

TControl 分支之下所有的类,都是在运行时可见的组件。TWinControl 派生自TControl,这个分支封装了Windows 系统的屏幕对象,也就是一个真正的Windows 窗口(拥有窗口句柄)。TCustomControl派生自TWinControl。从TCustomControl 开始,组件拥有了Canvas(画布)属性。另外,组件在屏幕上有位置和大小的显示,并且设计时在窗口显示的位置与运行时相同。

组件有两种不同的规格,可以分为可视化和非可视化两种。

其中,基于窗口的组件,即窗口组件(Windowed Control),是系统窗口的可视化组件。可视化组件都有窗口句柄,并可以接受输入焦点,可以含有其他组件。

图形组件(Graphical),即非窗口组件,没有窗口句柄,不能接受焦点,也不能包含其他组件。这些组件继承于TGraphicControl 并由它们的父窗口显示,它们在最小化使用系统资源方面起着关键作用。

Delphi 的大部分组件都包含在组件板中。它们以流的形式储存在.dfm 文件中,并且可拥有属性和可视化处理事件。




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.