欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VS2019 MFCActiveX插件开发——环境搭建及创建demo

程序员文章站 2022-07-12 17:23:38
...

一、环境搭建

安装时勾选了使用C++的桌面开发及勾选了MFC组件,如下图所示:

VS2019 MFCActiveX插件开发——环境搭建及创建demo
VS2019 MFCActiveX插件开发——环境搭建及创建demo

二、创建demo

1、创建新项目时选择MFC ActiveX控件

VS2019 MFCActiveX插件开发——环境搭建及创建demo
VS2019 MFCActiveX插件开发——环境搭建及创建demo
VS2019 MFCActiveX插件开发——环境搭建及创建demo
2、此处按照默认设置直接点击完成。可根据需求,勾选无窗口**之类的选项,根据测试,这个关于对话框也没啥用。

VS2019 MFCActiveX插件开发——环境搭建及创建demo
3、点击完成就创建好一个可以注册的插件了,如果不想手动注册,需要以管理员权限运行VS,编译时直接生成就好,因为不是生成的是.ocx的控件,不是可执行程序,无法使用Ctrl F5调试运行。

VS2019 MFCActiveX插件开发——环境搭建及创建demo
下图所示的状态,插件已经注册了

VS2019 MFCActiveX插件开发——环境搭建及创建demo

当然也可以手动注册

三、注册、反注册

记得使用管理员权限

1、注册

regsvr32 D:\MFCActiveXDemo\Debug\MFCActiveXDemo.ocx

VS2019 MFCActiveX插件开发——环境搭建及创建demo
VS2019 MFCActiveX插件开发——环境搭建及创建demo
2、反注册

regsvr32 D:\MFCActiveXDemo\Debug\MFCActiveXDemo.ocx

VS2019 MFCActiveX插件开发——环境搭建及创建demo
VS2019 MFCActiveX插件开发——环境搭建及创建demo

四、测试

写个简单的网页测试一下

<!DOCTYPE html>
<html>
<head>
	<title>MFCActiveX test</title>
</head>
<body>
	<object id="CMFCActiveXDemoCtrl" classid="clsid:7ea13d05-6b22-4a88-9c5c-6d035bce4082"></object>
</body>
</html>

需要注意的是object的id及classid要与插件一一对应
classid在.idl文件的最后,如下图所示

VS2019 MFCActiveX插件开发——环境搭建及创建demo

而id则是带有Ctrl的类名,如下图所示:

VS2019 MFCActiveX插件开发——环境搭建及创建demo

五、测试

用IE浏览器或者其他带IE内核的浏览器打开上一步写的网页,点击允许阻止的内容,选择,就可以看到在网页上绘制了一个椭圆

VS2019 MFCActiveX插件开发——环境搭建及创建demo

VS2019 MFCActiveX插件开发——环境搭建及创建demo

VS2019 MFCActiveX插件开发——环境搭建及创建demo

绘制代码在OnDraw函数里,如下图所示

VS2019 MFCActiveX插件开发——环境搭建及创建demo
至此,一个MFCActiveX demo创建完成,之后就可以根据需要,在此基础上修改实现自己的功能。