科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件COM编程技术基础概述之七

COM编程技术基础概述之七

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在ActiveX文档服务器中的IOleDocument接口使一个文档对象能够与其包容器进行通信,并用其数据去创建视图。

作者:中国电波传播研究所青岛分所郎锐 来源:yesky 2007年10月20日

关键字: COM 编程技术

  • 评论
  • 分享微博
  • 分享邮件
在ActiveX文档服务器中的IOleDocument接口使一个文档对象能够与其包容器进行通信,并用其数据去创建视图,该接口也可以使一个文档对象能够枚举其视图并为包容器提供相关信息,如是否支持多视等。 IOleDocumentView接口则使一个包容器程序能够通过文档对象的支持而与每一个视图进行通信。 IOleCommandTarget接口可以使服务器对象及其包容器程序分发命令。

  IPrint接口则可以使任意的复合文档和特定的活动文档能够支持打印。在ActiveX文档包容器中实现的IOleDocumentSite接口能够使一个已经作为文档对象实现的文档在现场激活对象时绕过通常的激活次序,并直接指示其客户站点作为一个文档对象而将其激活。具有这种能力的客户站点也被称为文档站点。包容器程序需要为每一个文档对象提供一个相关的文档站点,这些站点对象为每一个活动文档的视图实现了一个独立的文档视图站点对象。

  相比之下,ActiveX控件可以说是在所有COM应用中使用最为广泛的一种COM组件。这种COM组件集成了COM的各种应用基础,如OLE文档、自动化、类型库等。ActiveX控件通常以DLL或OCX形式存在,而且只能在包容器程序中使用而不可独立运行,这与ActiveX文档是不一样的。

  ActiveX控件是一种实现了一系列特定接口而使其在使用和外观上更象一个控件的COM组件。ActiveX控件这种技术涉及到了几乎所有的COM和OLE的技术精华,如可链接对象、统一数据传输、OLE文档、属性页、永久存储以及OLE自动化等。

  ActiveX控件作为基本的界面单元,必须拥有自己的属性和方法以适合不同特点的程序和向包容器程序提供功能服务,其属性和方法均由自动化服务的IDispatch接口来支持。除了属性和方法外,ActiveX控件还具有区别于自动化服务的一种特性--事件。事件指的是从控件发送给其包容程序的一种通知。与窗口控件通过发送消息通知其拥有者类似,ActiveX控件是通过触发事件来通知其包容器的。事件的触发通常是通过控件包容器提供的IDispatch接口来调用自动化对象的方法来实现的。在设计ActiveX控件时就应当考虑控件可能会发生哪些事件以及包容器程序将会对其中的哪些事件感兴趣并将这些事件包含进来。

  ActiveX控件与自动化服务的另一个不同之处在于其方法、属性和事件均有自定义(custom)和库存(stock)这两种不同的类型。自定义的方法和属性也就是是普通的自动化方法和属性,自定义事件则是自己选取名字和Dispatch ID的事件。而所谓的库存方法、属性和事件则是使用了ActiveX控件规定了名字和Dispatch ID的"标准"方法、属性和事件。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章