第十二章 ActiveX 控件的使用和創建.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十二章 ActiveX 控件的使用和創建

第十二章 ActiveX 控件的使用和创建 ; 近年来,软件产业已经发生了一场革命性的变化。软件的制 作和打包方式已经不再是所有的应用程序都必须从源代码编译 链接成一个完整的、很大的可执行代码文件,而是大多数应用 程序都可以由一些较小的构件组成。这些小的构件,通常称为 组件。这些组件可以用多种不同的程序语言创建,且可以具有 多种不同的的形式。最为流行的组件之一便是 ActiveX 控件。组 件不但可以作为最终软件产品提供给其他程序设计人员,而且 在大型软件开发中,使用组件也是组织不同分工的程序设计人 员共同完成整个软件设计开发的重要策略和方法。本章的学习 目的是:;掌握如何使用 ActiveX 控件,以便在软件开发中使用第三方提供的产品化组件和如何创建自己的 ActiveX 控件,以便开发产品化组件,提供给其他程序设计者。本章的主要内容包括: ??什么是ActiveX 控件以及它们是如何工作的。 ·如何在项目工作区中添加ActiveX 控件。 ·如何在Visual C++ 应用程序中使用ActiveX 控件。 ·如何调用与ActiveX 控件相关联的各种方法。 ·如何处理由ActiveX 控件激活的事件。 ·如何用Visual C++ AppWizard 建立ActiveX 控件项目。 ·如何用ClassWizard 向ActiveX 控件添加属性和方法。 ·如何用Visual C++ 提供的工具测试自己的ActiveX 控件。;12.1 什么是 ActiveX 控件 在介绍ActiveX 控件之前有必要了解另外两个编程技术概念: ·OLE(Object Linked and Embeded) 对象连接嵌入是 Microsoft 基 于对象的技术。该技术用于跨越进程和机器边界的数据信息 和操作方法的共享。不过最初的OLE 仅仅允许把不同的应用 程序创建的文档组合成一个单一文档。 ·COM(Component Object Model) 组件对象模型是遵循OLE 基本 技术的对象模型。一个COM 对象是一个对象定义的实例,该 对象定义指定了该对象的数据和一个或多个作用于该对象的 接口执行方法。客户程序与COM 对象之间的相互作用只能通 过 COM 对象的接口实现。; ActiveX 控件就是一组封装在 COM 对象中的功能模块。这个 COM 对象是独立的,但并不能单独运行,而只能在 ActiveX 容器 中运行,如 Visual C++ 或Visual Basic 应用程序,这一点很像在组 合设备中插入具有特定功能的组件,例如在组合式音响中,插 入一个 DVD 播放组件。;12.1.1 ActiveX 和 IDispatch 接口 每个 COM 对象都有一些标准接口,例如, IUnknown 接口, 该接口用来询问是否找到了该组件所支持的其他接口。 每个接口支持一组特定的功能,例如,可以用一个接口来处 理控件的可视外观,一个接口来控制控件外观如何与插入该控 件的应用程序进行交互,一个接口来触发插入该控件应用程序 中的事件,等等。 ActiveX 技术是建立在微软的 COM 技术之上,并使用 COM 的 接口和交互模型使 ActiveX 控件与插入控件的应用程序进行完全 无缝的集成。COM 技术奠定了构建 ActiveX 对象的方式及设计 ActiveX 接口的方法。ActiveX 技术定义了建立于 COM 之上的层 面、各种对象应该支持什么样的接口以及如何与不同类型的对 象交互。; ActiveX 控件的关键技术之一是自动。所谓 “自动” 可描述为: ·将一个应用程序中嵌入另一个应用程序。 ·当用户的操作涉及到被嵌入者的功能时,激活被嵌入者,并 控制被嵌入者的用户接口或文档部分,同时进行被嵌入者自 身的更改。 ·当用户将操作转移到应用程序中非嵌入程序的控制部分时, 被嵌入者自行关闭(例如在word 应用程序中自动嵌入Excel 电子表格应用程序)。 实现自动工作的关键之一是特殊(调度)接口 IDispatch。; ActiveX 控件可以提供的所有方法有各自的唯一标识值 DISPID。 这些标识值被存放在用来查找特定方法的标识列表中。IDispatch 接口由一个指示方法的标识列表和 IDispatch 接口提供的方法组 成。当获取一个特定方法的 DISPID 之后,就可以将该方法的 DISPID 作为参数,通过调用 IDispatch 接口的方法 Invoke 来实现 调用 DISPID 所标识的指定方法。下图示意性描述了 IDispatch 接 口如何使用 Invoke

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档