《COM原理及应用》学习笔记之第十二章

12 ActiveX 控制

1 ActiveX 控制

       ActiveX 控制是 Microsoft 提供的功能强大的程序设计和开发技术。 ActiveX 控制既是一个自动化对象(当然也是一个标准的 COM 对象),也是一个界面元素,如同 Windows 的普通控制一样。

       ActiveX 控制是一门综合技术,它涉及到 COM OLE 的许多技术精华,同时也与 Windows 操作系统紧密结合起来,它可作为 Windows 标准控制的一种扩充机制。

       Microsoft 把这种在 Internet 上使用的控制与 OCX 一起统称为 ActiveX 控制,并且把所有建立在 COM OLE 基础上以及与 Internet 有关的技术统称为 ActiveX 技术。

 

2 ActiveX 控制的技术基础

       ActiveX 控制的主要技术基础为 OLE 复合文档技术,它几乎涉及 OLE 嵌入对象与包容器程序之间交互的所有技术,包括结构化存储技术、自动化技术、实地激活( in-place activation ,主要用于嵌入对象)、属性页技术、永久对象技术、可连接对象机制等等。

 

3 、实地激活

       实地激活( in-place activation )是指 OLE 对象的一种界面特性,具有实地激活特性的对象可以直接在包容器窗口内部进行编辑,所以有时我们也把这种特性称作实地编辑( in-place editing )或可视编辑( visual editing )。

       为了实现实地激活特性,要求 OLE 对象和包容器程序之间必须遵守严格的接口约定。

 

4 、属性页

       属性页( property page )是 OLE 的一项技术,它已经成为 Windows 32 位平台上表达属性的基本手段。属性表( property sheet )由多个属性页组成,每个属性页有一个标题(也称为标签),通常属性表是一个有模式的对话框,而属性页是一个内嵌在属性表对话框中的无模式窗口。

       属性页技术涉及到四个方面:客户方、 COM 对象、属性表和属性页。它们相互之间的通信由一组预定义的 COM 接口以及 API 函数实现。

 

5 、属性变化通知

       属性变化通知包括两种情形:第一,当对象改变其属性时,它先向客户发送一个请求,询问客户是否允许改变该属性;第二,当对象已经改变了属性之后,它向客户发送一个通知告诉客户该属性已经被改变。

 

6 ActiveX 控制的基本要求

       属性和方法管理、事件机制、用户界面特性(可视性)、状态永久性机制。

 

7 ActiveX 控制基本结构

 

8 、包容器

       ActiveX 控制的包容器程序通常是一个表单( form )或者对话框,也可以是复合文档的视窗口( view )或文档对象。包容器通常要管理多个 ActiveX 控制,或者其他 Windows 普通控制。

       包容器的基本功能:布局功能、永久特性、环境属性、事件处理机制、扩展控制、键盘功能。

       包容器程序支持不同的情形,分别称为设计模式和运行模式。

 

9 、包容器的基本结构

 

10 、使用的接口

       IOleObject IOleClientSite OLE 的基本接口。每一个嵌入对象必须实现 IOleObject 接口。

       IOleControl IOleControlSite 接口扩展了 ActiveX 控制与站点对象之间的通信能力。由于 IOleObject IOleClientSite 主要用于 OLE 复合文档与嵌入对象之间的通信,对于 ActiveX 控制与包容器,它还有其他的要求,比如环境属性、键盘控制以及扩展控制等等, IOleControl IOleControlSite 接口正是针对这些特性而设计的。

 

11 ActiveX 控制与 Internet

       Microsoft 制定了 COM 规范,同时又在 OLE 的基础上形成 ActiveX 控制标准。从基本的行为特性来讲, ActiveX 控制非常适用于 Internet

       从包容器的角度进行考察, Internet 浏览器程序就是包容器。

       为了使程序代码量尽可能地小, Microsoft VisualC++ 提供了 ATL 模板库作为这类 ActiveX 控制的基本开发工具。

       IE 要求 ActiveX 控制必须支持自注册,以便在用户浏览包含 ActiveX 控制的 Web 页面时,它可以动态地注册控制。

       一般的包容器程序通常只负责 ActiveX 控制的创建、运行和释放,但 IE 要做的事情更多一些。

 

12 、包装 ActiveX 控制

       Microsoft 采用了惯用的 CAB 压缩方法,它把 ActiveX 控制程序以及相关的其他文件放在同一个 CAB 文件中,然后在 codebase 属性中指定 CAB 文件的 URL 路径。

 

13 、许可证管理

       除了免费发行的 ActiveX 控制之外,大多数 ActiveX 控制都支持设计时刻和运行时刻的许可证检查。设计时刻许可证检查可以保证程序员在创建应用系统或者 Web 页面时使用合法的 ActiveX 控制;运行时刻许可证检查可以保证用户运行一个包含合法控制的应用系统或者显示一个包含合法控制的 Web 页面。

 

14 ActiveX 控制的开发与应用

       Microsoft 提供了三个开发 ActiveX 控制的工具: MFC 类库、 ATL 模板库和 BaseControl 框架。

       MFC 重在功能,它与 Visual C++ 集成环境紧密结合,利用 MFC 可以实现非常复杂的 ActiveX 控制。

       ATL 模板库可专门用于开发 COM 对象,也包括 ActiveX 控制。利用 ATL ,我们可以开发出小巧、快速的 ActiveX 控制,特别适合于在 Internet 环境下使用。

       BaseControl 框架开发 ActiveX 控制要求程序员对框架结构非常了解,有一定的难度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值