一:同样的,使用创建向导创建MFC ACTIVEX
这里直接使用vs2013默认的方式直接完成创建就可以了。
二:创建完ActiveX控件之后,需要为控件里面添加一些消息,事件,方法等用来完成这个ActiveX的功能。 参考 https://blog.csdn.net/guo_lei_lamant/article/details/79714851
消息:一般是系统发送过来的消息,举个例子就是用到定时器中断这种系统所有的接口时为了获取系统的消息,用消息来处理。
消息映射:
- 让ActiveX控件程序可以接受系统发送的事件通知,如窗体创建和关闭事件
- 响应操作系统的消息
调度映射:外部调用所使用的方法名,在这创建的函数接口能被外界调用。
调度映射:
- 让外部调用程序(包含ActiveX的容器)可以方便地访问ActiveX控件的属性和方法
- 可以在外部调用的接口函数,通俗的将就是一个控件可以调用它内部的函数,如CButton btn;btn.函数名()
事件调度:这里主要是用来处理按键,返回给容器的事件。
事件映射:
- 让ActiveX控件可以向外部调用程序(包含ActiveX的容器)发送事件通知
- 单击、双击等事件由ocx传给它的容器进行响应,如按钮的一些事件,触发后可以在它的父窗口中进行响应处理
三:ActiveX控件创建完之后需要生成一个.ocx后缀的文件,该文件就是要使用的ActiveX的插件,使用之前需要在系统注册表中进行注册。注册方式为->打开命令提示符(win10下)->输入 regsvr32 + .ocx的地址。完成注册。
四:完成注册之后需要进行测试,测试的方法有三种
1:用TSCCON32 ,将控件插入进行测试。
2:在MFC对话框中插入 ActiveX控件进行测试。
3:在html网页中进行测试。
一般常用到的测试方法是这三种,本人喜欢用1,2.
五:测试完后进行ActiveX的调用。因为初次使用ActiveX,遇到许多的不清楚的问题,导致使用的时候问题重重。
在MFC中先插入ActiveX控件,然后右键控件添加变量,之后vs会给我们自动创建控件的类及变量。
这时就能用创建好的类直接调用ActiveX中的函数。