VC中进行ActiveX控件的开发

6 篇文章 1 订阅

开发环境:VS2010

开发步骤:

一、ActiveX控件项目的新建

1、 文件->新建->项目,选择MFC ActiveX控件,项目名称叫做MCDocx

 

 

2、 新建完成后,默认生成如图所示的类视图结构:


其中CMCDocxApp类用于控制整个控件的程序执行流程,默认生成InitInstance()和ExitInstance

()两个成员函数,用于初始化控件以及释放资源;

 

CMCDocxCtrl类代表整个控件,默认生成构造、析构函数等,其中OnDraw()函数用于绘制控件的外观。

 

 

MCDocxLib为控件的导出库,含有控件中可被外部调用的接口,其中_DMCDocx为方法和属性的接口,_DMCDocxEvents为事件的接口。

 

 

二、给项目添加接口

 

1、 添加属性接口

右键选中_DMCDocx,添加->添加属性。

 

在这里我们添加一个Directon属性,属性类型为bool型,属性名为Direction,我们发现界面上自动为我们生成了变量名和通知函数。

 

我们发现在DMCDocx接口下新增了一个Direction的属性接口。

 

同时我们发现在CMCDocxCtrl中自动生成了其成员变量m_Direction和通知函数OnDirectionChanged(),顾名思义,通知函数是在m_Direction发生变化时被激活,从而我们可以添加自己的代码,做相应的处理。

 

  上面是以成员变量的形式添加属性接口的方法,下面再讲解一下以Get/Set方法添加属性的方法。    还是右键选中_DMCDocx, 添加->添加属性

 

我们添加名为Index的属性接口,将下面的Radio选项选择Get/Set方法,在接口库中生成了名为Index的属性接口。

 

这次,在CMCDocxCtrl中并没有生成,任何成员变量,而是生成了GetIndex

和SetIndex两个成员函数用于给接口成员Index赋值。

2、 添加方法接口

我们现在CMCDocxCtrl类中添加两个SHORT类型的成员,m_am_b,在接口中用于分别给这两个成员赋值。

右键选中_DMCDocx,添加->添加方法。

 

 

添加完成后在生成SetNumbers的接口

 

同时在CMCDocxCtrl类中生成了对应的成员函数

 

 

3、 添加事件接口

类视图中选中CMCDocxCtrl类,右击->添加->添加事件。

 

事件分为两种,一种是常用事件,一种是自定义事件。常用事件包括单击、双击等一些常见的事件,点击完成后,会自动生成事件接口。

 

另外一种自定义事件,事件名称自定义,点击完成后可以在CMCDocxCtrl和接口中分别生成自定义的事件。

 

可以在CMCDocxCtrl类中定义自定义事件的触发条件,如下图所示在鼠标右键点击时触发该自定义事件。

 

三 oxc控件的注册

   Active控件在开发完成之后,需要先进行注册才能使用。

 注册方法如下图所示(若是win7系统,可能需要管理员权限运行cmd窗口才能注册成功)

 

卸载方法如下:

 

 

四 oxc控件的测试。

VS2010中开发MFC ActiveX控件,开发完后,通常使用VS自带的容器ActiveX Control Test Container来运行ActiveX控件。此容器在VS安装后的文件中是找不到的,需要自己手动获取。如下所述:

 

1)按照你的VS所安装的路径,找到VC2010Samples.zip这个压缩文件,其在Samples下的名为2052文件夹中,

如在我的电脑上,其所在路径为:C:\Program Files\Microsoft Visual Studio 10.0\Samples\2052

\VC2010Samples.zip

(我的电脑路径为C:\Program Files\Microsoft Visual Studio 10.0\Samples\1033\VC2010Samples.zip

 

2)找到这个压缩文件后,将其减压到当前文件夹中。

 

3)按照如下路径C:\Program Files\Microsoft Visual Studio 10.0\Samples\2052

\VC2010Samples\C++\MFC\ole找到TstCon这个文件夹。打开这个文件夹,可发现有两个资源解决方案TCProps

TstCon

(我的电脑路径为 C:\Program Files\Microsoft Visual Studio 10.0\Samples\1033\C++\MFC\ole\TstCon

 

4)在VS2010中打开这两个解决方案(file-open-project/solution,选择TstCon.vcxproj打开)。

 

5)将Tcprops设为启动项,方法:在解决方案Tcprops上右击,选择“设为启动项目”;然后对它进行编译F7

同样地,再将TstCon设为启动项,对它进行编译F7

 

6)编译完后,就可在TstCon文件夹下的Debug文件夹中看到TstCon32.exe文件。

(在我的电脑上生成TstCon.exe

7)在首次运行MFC ActiveX控件时,需要设置调试器命令及调试器工作目录。项目—属性—配置属性—调试,设置命令及工作目录即可。(这个方法我没有试,我用的是下边的方法)

打开VS2010,点 “工具tool-->“外部工具external tool,再点击“添加add”按钮,再在下面的“标题title”栏里,修改为TstCon(名称随便取),再在 “命令command”栏里,选择第一步里编译好的TstCon.exe,再点“应用”,“确定”按钮即可。然后就可以在VC2010里点 “工具”-->TstCon,就可以象VC6那样测试ActiveX控件了。

 

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值