建立 ActiveX 控件

本章将深入讨论控件的创建。大部分的主题按照“创建一个 ActiveX 控件”后面的“重述创建控件的步骤”中描述的控件开发任务的顺序进行组织。

首先介绍的内容,也是最重要的内容,是控件创建的术语和概念,这些内容包含在如下主题中:“控件创建术语”、“控件创建基础”和“与容器交互作用”。

然后,介绍与开发任务有关的主题:

  1. 确定控件需要提供的功能。

  2. “Visual Basic ActiveX 控件功能”

  3. 设计控件的外观。

  4. “绘制控件”

  5. 设计控件的接口,即控件显示出来的属性、方法和事件。

  6. “在控件中添加属性”、“在控件中添加方法”、“从控件中产生事件”和“为控件提供命名的常数”。

  7. 创建一个工程组,包含控件工程和一个测试工程。

  8. “设置新的控件工程和测试工程”

  9. 通过在 UserControl 对象中添加控件和/或代码来实现控件的外观。

  10. 实现控件的接口和功能。

  11. “创建健壮的控件。”

  12. 在添加每个接口元素或功能的同时,在测试控件中添加同样的功能,以检查新的功能。

  13. “控件调试。”

  14. 设计并实现控件的属性页。

该主题将在“创建 ActiveX 控件的属性页”中讨论。

  1. 编译控件的部件(.ocx 文件),并用所有可能的目标应用进行测试。

  2. “分布控件。”

本章的最后一部分是“控件的本地化”,它讨论如何进行控件的其它语言本地化。本章包含以下主题:

主题

控件创建术语

本节简要介绍一些术语,使得关于创建控件的讨论简单一些。并指出这些术语与常见术语的重要区别。

控件创建基础

介绍 UserControl 对象、创建控件的三种方法、控件打包的两种方法,以及 UserControl 对象存活期内的关键事件。

与容器交互作用

控件不是孤立的。本主题将讨论控件所在的容器,以及控件和容器的重要关系。

Visual Basic ActiveX 控件功能

讨论 UserControl 控件的功能,该控件用于编写具有完整功能的 ActiveX 控件。

绘制控件

讨论用户绘制控件,以及由 UserControl 上的子控件提供外观的控件。

在控件中添加属性

讨论在控件中和在其它类型的对象添加属性的重要区别,其中包括存储和检索属性值。

在控件中添加方法

简短地讨论控件方法。

从控件中发出事件

解释事件的创建,以及利用 UserControl 事件和子控件事件的技术。

为控件提供命名的常数

详细说明如何在控件中添加命名常数。

创建新的控件工程和测试工程

讨论测试和调试 ActiveX 控件工程的需求。

创建健壮的控件

列出一些该做或不该做的事,并简短地予以解释。

控件调试

讨论在设计时运行和调试代码较好的点。

分布控件

除了讨论安装程序应该做的事以外,本主题还解释了控件的授权和版本问题。

控件的本地化

概述为创建面向多语种市场的控件的开发策略。


应用程序示例

CtlPlus.vbg

包括一个功能完备的 ShapeLabel 控件版本,该控件是在第四章“创建一个 ActiveX 控件”逐步创建起来的,还包括了本章中用于说明控件创建功能的其它控件。如果已经安装了示例应用程序,那么在 Visual Basic 的 \Program Files\Microsoft Visual Studio\Common Files\Samples\VB目录的 \ActvComp 子目录下可以找到 CtlPlus.vbg 文件。