`

COM原理及应用----ActiveX控件

    博客分类:
  • COM
阅读更多

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控制要求程序员对框架结构非常了解,有一定的难度。

分享到:
评论

相关推荐

    MFC教程lesson 18-ActiveX控件原理&应用.rar

    本教程“MFC教程Lesson 18 - ActiveX控件原理&应用”聚焦于一个重要的组件技术——ActiveX,它是微软在90年代推出的一种技术,用于创建可重用的软件组件。 ActiveX控件,原名OLE控件,是基于COM(Component Object ...

    java调用activex控件

    ActiveX控件是一种Windows平台上的组件技术,允许不同应用程序间进行交互。这些控件可以嵌入到HTML页面中,以增强网页的功能性和互动性。然而,由于Java和ActiveX控件分属不同的平台和技术体系,实现两者间的交互...

    网页中显示带控件的ActiveX控件

    本文将深入探讨ActiveX控件的工作原理、优缺点以及在现代网页环境中的地位。 一、ActiveX控件的工作原理 ActiveX控件是一种小型可执行程序,由Microsoft开发,以扩展浏览器的功能。当用户访问包含ActiveX控件的...

    源码名称:取硬盘序列号ActiveX控件的创建及应用

    本项目“取硬盘序列号ActiveX控件的创建及应用”是针对VB6(Visual Basic 6)开发环境,用于在win2000/2003操作系统下,通过IIS5/6(Internet Information Services)服务器为ASP(Active Server Pages)或ASP.NET...

    VB_VB_Active.rar_ActiveX vb_ActiveX-DCOM-ATL_activeX控件_activex_i

    ActiveX控件的应用与工作原理。ActiveX控件的编写,如何为控件安排属性,方法,事件,属性页,持久性存储,控件如何通知容器自身属性的改变。如何注册控件与取消控件注册。在VB和VC中访问ActiveX控件。

    VC++ Activex控件开发

    VC++ ActiveX控件开发是Windows应用程序开发中的一个重要部分,主要涉及的是利用Microsoft Visual C++这一集成开发环境(IDE)创建能够嵌入到其他应用程序、网页或者Active Desktop中的控件。ActiveX技术允许开发者...

    VB6.0动态加载ActiveX控件漫谈...

    ActiveX控件是一种基于COM(Component Object Model)技术的软件组件,它可以在多种不同的应用程序中重复使用。ActiveX控件可以提供图形用户界面元素或实现特定的功能,例如数据绑定、多媒体播放等。 ##### 创建与...

    VC ActiveX控件原理解释例子.rar

    VC ActiveX控件原理解释例子,ActiveX控件的应用与工作原理。ActiveX控件的编写,如何为控件安排属性,方法,事件,属性页,持久性存储,控件如何通知容器自身属性的改变。如何注册控件与取消控件注册。在VB和VC中...

    整个ActiveX控件源码

    ActiveX控件的核心原理是基于COM(Component Object Model)组件对象模型,它允许不同编程语言之间进行无缝通信。控件自身是一个独立的、可重用的组件,可以通过接口与宿主环境进行交互。在ActiveX控件中,主要涉及...

    ActiveX控件清理工具

    ActiveX控件是基于COM(Component Object Model)的,它们作为独立的功能模块,可以在多个应用程序之间共享。当用户访问包含ActiveX控件的网页时,IE会询问用户是否允许下载并安装这些控件。如果用户同意,控件就会...

    win7下activex控件例子

    在Windows操作系统,特别是Win7环境下,ActiveX控件是一种广泛使用的组件技术,它允许开发者创建可以在不同应用程序间共享的自包含、可重用的代码模块。ActiveX控件基于COM(Component Object Model)架构,可以嵌入...

    ActiveX控件测试容器

    TstCon32.exe的工作原理是加载并运行指定的ActiveX控件,模拟实际应用环境下的运行状态。开发者可以借此观察控件的外观、交互行为以及是否能够正常响应各种事件。这个工具支持多种操作,包括控件属性的设置、方法的...

    编程创建ActiveX控件源代码

    在IT领域,ActiveX控件是一种基于微软技术的组件,用于在Windows应用程序中提供交互式功能,特别是网页浏览器。ActiveX控件可以是各种形式,如按钮、文本框或者更复杂的用户界面元素。它们通常由程序员用Visual ...

    基于MFC的ActiveX控件开发

    MFC ActiveX控件开发涉及COM原理、MFC类库的使用以及控件的生命周期管理。通过MFC,开发者可以快速构建具有图形用户界面的ActiveX控件,同时通过属性页支持设计时属性设置。不过,要根据项目需求权衡MFC的便利性和...

    Delphi中ActiveX控件的开发

    综上所述,"Delphi中ActiveX控件的开发"是一个涉及COM原理、控件设计、事件处理、互操作性等多个方面的复杂过程。通过学习提供的源码,你可以更深入地理解这些概念,并提升在Delphi中开发高效、可复用的ActiveX组件...

    去掉IE提示:internet explorer 已限制此网页运行脚本或Activex控件

    ### IE提示限制脚本或ActiveX控件运行的解决方案 在使用Internet Explorer浏览器访问某些包含脚本或ActiveX控件的网页时,用户可能会遇到一个警告提示:“Internet Explorer已限制此网页运行脚本或ActiveX控件”,...

    WEB页面通过ActiveX控件调用DLL动态库系列教程全部例程(vs2013)可用

    在IT领域,尤其是在Windows开发中,ActiveX控件和DLL(动态链接库)是两种重要的技术,它们在软件工程中有着广泛的应用。本教程聚焦于如何在WEB页面中通过ActiveX控件调用DLL动态库,这是一个典型的客户端交互与...

    颜色棒ActiveX控件

    ActiveX控件的工作原理是,它提供了API(应用程序接口)和事件,允许程序员通过编程语言(如VBScript、Visual Basic、C++等)来调用和控制颜色渐变的参数。这些参数可能包括起始颜色、结束颜色、渐变的方向、是否...

    ActiveX控件 编程实例

    通过学习这个实例,你可以掌握如何创建自己的ActiveX控件,理解其工作原理,并将其应用到实际项目中。同时,这也是一次了解组件化编程思想和Windows平台开发的好机会。在实践中不断探索,你将能够更好地利用ActiveX...

Global site tag (gtag.js) - Google Analytics