1. ActiveX控件简介
ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在有目录和其它支持的网络中,COM变成了分布式COM(DCOM)。在创建包括ActiveX程序时,主要的工作就是组件,一个可以自足的在ActiveX网络(现在的网络主要包括Windows和Mac)中任意运行的程序。这个组件就是ActiveX近控件。ActiveX是Microsoft为抗衡Sun Microsystems的JAVA技术而提出的,此控件的功能和JAVA applet功能类似。
如果您使用的是Windows操作系统,您或许会注意到一些以OCX结尾的文件。OCX代表“对象链接与嵌入控件”(OLE),这个技术是Microsoft提出的程序技术,用于处理桌面文件的混合使用。现在COM的概念已经取代OLE的一部分,Microsoft也使用ActiveX控件代表组件对象。
组件的一大优点就是可以被大多数应用程序再使用(这些应用程序称为组件容器)。一个COM组件(ActiveX控件)可由不同语言的开发工具开发,包括C++和Visual Basic或PowerBuilder,甚至一些技术性语言如VBScript
简单点说COM是一种技术规范,是抽象的.而ActiveX组件是遵循这种规范的一种对象类型
2. ActiveX控件使用方法
一般步骤如下:
(1) 使用AppWizard生成支持ActiveX控件的容器应用程序,即在AppWizard向导的框架生成步骤中记得勾选“ActiveX Control”选项即可(不同的框架,在不同的位置,仔细看)
注:如果你在生成框架时忘了勾选“ActiveX Control”选项,你也可以通过手动添加来使程序支持ActiveX控件,具体做法是:在App类中的InitInstance()函数中添加下面这行代码:AfxEnableControlContainer();同时在stdafx.h中加入#include<afxdisp.h>即可
(2) 搜索需要的ActiveX控件,将ActiveX控件登记到Windows注册表中。
如果你需要的控件已经注册,那么无需这一步,已注册的控件可以通过Project->Add to project->Components and Controls选项来查看,如下图:
上面的两个文件夹里面都是已注册的控件,找到你要的控件选择Insert即可,这个下面会要说到
对于还没有注册的控件,例如自己开发出来的控件,可以借助regsvr32.exe注册,具体做法是:开始菜单->运行->regsvr32.exe 控件文件名.ocx(或者是控件文件名.dll),注意控件文件名处需要用绝对路径,例如regsvr32.exe C:/progrm files/myActiveXControl.ocx;你也可以卸载已注册的控件(也即反注册),命令格式如下:regsvr32.exe/u 控件文件名.ocx(或者是控件文件名.dll),
(3) 将已注册的控件添加到应用程序当中
如步骤二所说的,你可以打开Project->Add to project->Components and Controls选项,从中选取你需要的控件然后选择Insert即可,选择Insert后会弹出一个窗口让你选择要添加ActiveX控件的类以及类名称等,一般选择默认即可
(4) 使用ActiveX控件
通过第三步之后你就会在类视图中发现ActiveX控件的类实现已经添加进了项目中。这时你要做的是为控件分配资源标识(resource.h文件&#