WEB开发网
开发学院软件开发VC 基于VC++中ATL创建ActiveX控件的探讨 阅读

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

 2009-06-16 20:07:13 来源:WEB开发网   
核心提示: 使用MFC提供的COM支持开发COM应用可以说在使用COM SDK基础上提高了自动化程度,缩短了开发时间,基于VC++中ATL创建ActiveX控件的探讨(2),MFC采用面向对象的方式将COM的基本功能封装在若干MFC的C++类中,开发者通过继承这些类得到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应用。

利用ATL技术创建ActiveX控件CircleCtl

1) 创建ATL项目

使用ATL COM AppWizard 创建ATL框架为该项目命名为Circle,按照向导提示向下做,采用默认设置,即Server Type类型为Dynamic Link Library(DLL)。

2) 向ATL项目添加ActiveX控件

首先从Insert菜单项中选择New ATL Object…调出 ATL Object Wizard对话框,然后左边Category列表选择Object,右边相应地选择Full Control,如图(1)所示。按Next继续,出现 ATL Object Wizard属性对话框,如图(2),在Names选项卡中,我们只需要在Short Name 编辑框输入CircleCtl即可,其它系统就会自动给定,也可以修改,我们这里保持系统给定状态;在Attributes 选项卡中,选择 Support ISupportErrorInfo 和 Support Connection Points 两个复选框,这两项分别支持出错信息和连接点;Miscellaneous选项卡保持默认设置;Stock Properties中我们把FillColor添加到支栏中,确定之后就把该控件加到项目中了。

上一页  1 2 3 4  下一页

Tags:基于 VC ATL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接