创建一个 ActiveX 控件

本章采用一系列按步骤进行的过程构造了一个称之为 ShapeLabel 的简单ActiveX 控件。尽管这个控件本身并没有什么感兴趣的地方,但它的构造能快速示范ActiveX 控件存活期的主要事件,并能介绍在设计时期代码运行的错综复杂性,还能给出创建与挂接属性页的基本步骤。

在后面的章节中,将广泛深入的介绍上述过程引用的全部主题。每一个过程都将引用更深入的材料。 此外,第九章“建立 ActiveX 控件”给出了怎样使用 ActiveX 控件界面向导更加轻松地构造控件。

因为创建 ShapeLabel 控件的各个过程是相互依赖的, 所以这些过程的执行顺序很重要。

主题

vbconAddingNewUserControlsToProject 创建 ControlDemo 工程

打开一个空的 ActiveX 控件工程,检查 ActiveX 控件设计器并且设置适当的工程属性。

vbconAddingTestProject 添加 TestCtlDemo 工程

创建包含 ActiveX 控件和测试工程的工程组,并将这两个工程链接起来。

vbconRunningControlsAtDesignTime 在设计时运行 ShapeLabel 控件

演示如何使某个 ActiveX 控件进入运行模式而不将测试工程放入运行模式,从而使控件设计时的行为可以调试。

vbconLifeTimesOfUserControl UserControl 对象的存活期

说明出现在 ActiveX 控件存活期的主要事件,并显示一个控件实例怎样连续地被撤消及重建。

vbconDrawingShapeLabelControl 绘出 ShapeLabel 控件

可以采用图形方法从一个草图绘出新控件,或者通过组合其它控件来构造新控件。ShapeLabel 使用后一种技术。

vbconAddingPersistingProperties 保存 ShapeLabel 控件的属性值

把 Caption 属性添加到 ShapeLabel 控件中并示范怎样保存该值。介绍Extender 对象。

vbconAddingPropertyPagesToProject 给 ShapeLabel 控件添加一个属性页

演示如何创建属性页以及如何将其与 ShapeLabel 控件相连接。

vbconAddingEventToControl 把一个事件添加到 ShapeLabel 控件中

示范怎样显露事件。

vbconCompilingUserControl 编译 ControlDemo 部件

编译该工程,并演示怎样用测试工程来测试 .ocx 文件,并将其包含在另一工程中。

vbconOLEControlCreationRecap 重述控件创建

总结创建 ActiveX 控件所需的关键任务。


如果设置 Visual Basic 开发环境显示必要的窗口,这些过程是易于仿效的。

开始前,请按照以下步骤执行:

  1. 在“视图”菜单上单击“工具箱”打开工具框。

  2. 在“视图”菜单上单击“工程资源管理器”打开“工程资源管理器”窗口。 “工程资源管理器”窗口将广泛地用于工程文件之间的切换。

  3. 如果该“工程资源管理器”窗口在文件夹视图中,如下所示,单击这个“工程资源管理器”窗口工具栏上的“切换文件夹”按钮用以关闭该文件夹。

  4. 在“视图”菜单上单击“属性”打开“属性”窗口。

  5. 在“视图”菜单上单击“立即”窗口打开“立即”窗口。 为了演示设计时控件代码的运行,在设计时需要打开此窗口。

  6. 在“工具”菜单上单击“选项”用以打开“选项”对话框。

    选择“编辑器”选项卡并确认已选择“要求变量声明”复选框。这将更加有助于查找录入错误。

    选择“环境”选项卡。 确认复选“提示保存改变”后单击“确定”。 这将使得保存进行中的工程中的更改变得容易。

应用程序示例

CtlPlus.vbg

本例要填写 ShapeLabel 控件所需的所有属性、方法和事件,使之成为一个正常运行的控件。 它通过给出附加的控件创建功能加以阐述,而对逐步过程所包含的一些基本步骤不予涉及。该示例应用程序位于示例目录。