AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > VC编程

基于VC++中ATL创建ActiveX控件的探讨

51自学网 2015-08-30 http://www.wanshiok.com

  ActiveX控件是微软公司提供的功能强大的程序设计和开发技术,是COM组件开发技术的重要组成部分。它是OLE的第三个版本,对原先OLE控件的最大扩展是增加了Internet功能,它不仅可以在支持OLE控件的容器中使用,更可以作为一个Internet控件,直接成为网页的一部分。另外,ActiveX控件作为一种可重用的组件,相当于一个封装好的代码模块,它是通过其方法、属性、事件来与应用程序进行通信的,此外,ActiveX控件是与开发语言无关的。用户在使用控件时不必考虑它是VC还是用VB等其它语言开发的,应用程序都是通过COM与控件进行通信的。可见,任何支持ActiveX控件的软件平台上都可以使用ActiveX控件,它使得不同厂商所开发的控件可以真正地组装在一起,从而令软件的生产过程类似于硬件业的各个插件的装配过程一样,实现了软件的工业化,大大降低了软件的开发成本,极大地提高了软件的生产效率,实现了软件资源的共享。

  ATL技术

  1)ATL

  ATL是ActiveX Template Library 的缩写,它是一套C++模板库。使用ATL能够快速地开发出高效、简洁的代码(Effective and Slim code),同时对COM组件的开发提供最大限度的代码自动生成以及可视化支持。从Microsoft Visual C++ 5.0版本开始,Microsoft把ATL集成到Visual C++开发环境中。目前,ATL已经成为Microsoft标准开发工具中的一个重要成员,日益受到C++开发人员的重视。

  在ATL产生以前,开发COM组件的方法主要有两种:一是使用COM SDK直接开发COM组件,另一种方式是通过MFC提供的COM支持来实现。

  直接使用COM SDK开发COM组件是最基本也是最灵活的方式。但是,这种开发方式的难度和工作量都很大,一方面,要求开发者对于COM的技术原理具有比较深入的了解,另一方面,直接使用COM SDK要求开发人员自己去实现COM应用的每一个细节,完成大量的重复性工作。

  使用MFC提供的COM支持开发COM应用可以说在使用COM SDK基础上提高了自动化程度,缩短了开发时间。MFC采用面向对象的方式将COM的基本功能封装在若干MFC的C++类中,开发者通过继承这些类得到COM支持功能。但使用MFC开发的COM组件,尤其是ActiveX控件的开发,会产生相当大的代码冗余,而且必须要依赖于MFC的运行时刻库才能正确地运行。

  ATL技术是目前开发COM组件的一种比较理想的技术。ATL中所使用的基本技术包括COM技术、C++模板类技术(Template)以及C++多继承技术(Multi-Inheritance) 。

  2) ATL的基本使用

  使用ATL开发一个COM应用基本可以分为以下几个步骤:

  (1)创建一个新的ATL工程,并对工程的选项进行适当的配置。

  (2)向新创建的工程添加新的ATL类,并对该类进行一些初始配置工作。

  (3)根据COM应用的基本要求向新的ATL类加入新的接口定义,并实现相应的接口成员函数。

  (4)编译连接工程,注册COM应用。

<

 

 

 
说明
:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
上一篇:用Visual&nbsp;C++设计屏幕抓图程序  下一篇:VC++&nbsp;6.0中实现三叉切分窗口与多视图现