通过实例看 VCL 组件开发全过程 这篇文章算是对我前段时间学习的一个学习总结,以及对自己学习过程的一个回顾。本文通过一个简单的例子来尽可能的展示 VCL 组件开发的各个方面,本文针对即将学习组件开发的初学者,如果你已经熟悉组件开发或认为本文内容过于基础简单,那么本文对你毫无用处。阅读本文,假设你已经熟悉 delphi 的普通程序设计以及 vcl 的结构层次,还有一些重要的关键字:published、property 等。(注:本文内容建立在 delphi5.0 及以上版本) 在这篇文章中我们将建立一个和时间有关的组件,这个组件通过设置它的不同状态有以下基本功能:1、显示系统的当前时间(包括设置闹钟)。2、跑表。3、倒计时。这是一个简单的例子,然而我们将在这个例子中尽可能多的用到delphi 在组件开发中的多种特性,你可以通过以下列举出的本文涉及特性有选择的阅读: ·组件和组件包 ·组件的属性类别 ·组件的属性编辑器 ·组件编辑器 一、组件和组件包,以及一些你应该知道的文件类型: 组件和组件包的关系就如同普通工程中 unit 和工程文件的关系一样,通常你所安装的组件都是以组件包的形式发布的,一个组件包中可以有很多个组件,在组件开发中,组件包就是项目的工程文件.为了开始开发我们的组件(我们把他叫做 TClock)并将它包括在我们自己的组件包(ClockPackage)中,我们选择Filenewother 在弹出的窗口中的 New 页选择Package 新建一个组件包,得到一个组件包窗口,查看这个组件包的原文件(.dpk),得到以下代码: package ClockPackage; {$R *.res} {$ALIGN 8} {$ASSERTIONS ON} … … . … … . {$DESCRIPTION 'Our Clock Pack'} {$IMPLICITBUILD OFF} requires rtl; end. 这个文件其实就是组件开发中的工程文件,requires 关键字指示了组件包所需组件包的列表,随着向组件包中加入组件(类似于单元文件),你还会看到contains 关键字,指示了组件包所包含的组件,你可以通过组件包窗口中的add 和remove 按纽来添加新的组件和删除已有的组件。另外这个代码中所包含的大量的编译器开关大多都可以在组件包窗体上的Options 中设置。这里需要补充说明的是组件包的3 种重要属性(都在Options 中):Designtime Only、Runtime Only、Designtime and runtime(这3 个词的意思有英语基础的朋友应该都知道吧),对于大多数的组件包我们只要选择最后一个就可以了,然而有些组件...