ActiveX 控件体系结构

ActiveX 控件技术建立在 OLE 中许多较低级别的对象和接口的基础之上。 控件上可用的确切接口因功能而异。 本部分更详细地了解控件可能提供的功能。

ActiveX 控件用于提供用于在应用程序中创建用户界面的构建基块。 例如,单击容器应用程序时启动容器应用程序中的某些作的按钮是一个简单的控件。 提供这些用户界面构建基块涉及以下几个方面:

  • 控件可以嵌入到其容器客户端中,以支持客户端中的某些用户界面活动。 因此,当控件嵌入容器中时,控件需要提供自身的可视表示形式,并且需要提供一种方法来保存其状态,例如其属性值及其在容器中的位置。 客户端必须支持作为容器,其中包含嵌入其中的对象。
  • 通过使用键盘或鼠标激活控件,最终用户在客户端应用程序中启动一些作。 因此,控件必须响应键盘活动,并且必须能够与其客户端通信,以便它可以通知其容器其活动并在客户端中触发事件。
  • 客户端通常还提供编程语言,最终用户可以通过该语言启动控件的属性和方法提供的作。 因此,控件还必须支持自动化和一组设计时与运行时功能。

由于它在提供用户界面构建基块方面的角色,控件通常支持以下方面的功能,如前所述使用 OLE 技术:

属性和方法

与任何 OLE 对象一样,控件可以通过一组具有属性和方法的传入接口来提供其大部分功能。 容器可以提供其他环境属性,并且它支持通过聚合扩展控件的属性。 这些功能位于 OLE 自动化、属性页、可连接对象和 ActiveX 控件技术上。

事件

除了提供属性和方法外,ActiveX 控件还可以提供传出接口来通知其客户端的事件。 客户端必须支持处理这些事件。 这些功能使用 OLE 自动化和可连接对象。

视觉表示形式

控件可以支持在其容器中定位和显示自身。 容器放置控件并确定其大小。 这些功能使用复合文档技术,包括 OLE 拖放技术。

键盘处理

控件可以响应键盘加速器,以便最终用户可以启动控件执行的作。 容器管理其所有嵌入控件的键盘活动。 这些功能使用控制和复合文档技术。

持久性

控件可以保存其状态。 客户端管理其嵌入控件的持久性。 这些功能使用结构化存储和对象持久性技术。

注册和许可

控件通常支持自注册,并在实例化时创建一组注册表项。 还可以获得控件的许可,以帮助防止未经授权的使用。

其中大多数功能都涉及控件及其客户端容器。

ActiveX 控件