dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>C/C++>C/C++技术资料>文章内容
基于VC++中ATL创建ActiveX控件的探讨
来源: 计算机遇信息技术 作者: 任凤华 李兰
  摘 要 介绍了ActiveX控件和ATL技术,并以一个简单的圆的控件实现为例,介绍了VC++6.0中如何用ATL技术创建ActiveX控件,以及如何在网页中使用该控件。

  关键词 ATL,ActiveX控件,事件

  引言

  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应用。

共2页。 1 2 8 :

上一篇:用Visual C++设计屏幕抓图程序   下一篇:VC++ 6.0中实现三叉切分窗口与多视图现
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·C语言数组排序小结
·Python 与 C++ 程序的简单实例对
·c++ 数组与指针
·C++中的内存管理(new、delete、
·如何用C语言开发DSP嵌入式系统
·如何用C语言开发DSP嵌入式系统
·Linux下C语言编程
·学习arm的话先看哪本书?
·C++初学者应该关心的优秀图书一
·利用C语言小程序来解决大问题
·用C语言写PHP扩展的步骤
·用C语言扩展PHP功能
  相关文章
·用Visual C++设计屏幕抓图程序
·VC++ 6.0中实现三叉切分窗口与多
·VC++实现显示透明的256色以上的
·用Visual C++编写完整的屏幕保护
·分析百度“IE搜索伴侣”的源代码
·Visual C++中实现双缓冲的基本原
·用VC++实现应用程序窗口的任意分
·VC中预处理指令与宏定义的妙用之
·用Viusal C++实现字符串分割函数
·用Visual C++干干净净地清除进程
·用VC++制作QQ自动登陆软件
·VC中预处理指令与宏定义的妙用之
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763