vs2012开发基于MFC的ActiveX控件
Posted enki-fang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2012开发基于MFC的ActiveX控件相关的知识,希望对你有一定的参考价值。
1.新建工程
2.一直点击下一步,直到出现一下界面,注意红色标注选项,点击完成。
3.进入工程的属性界面,设置工程属性
4.添加对话框资源及其他控件,添加对话框类,
5.设置对话框属性
6.设置Dialog的“添加类”
输入“类名”;(其他的空白处事自动填写)
此时自动生成“MyDlg.h”和“MyDlg.cpp”两个文件。
7.对“CDemoActivexCtrl”添加WM_CREATE事件,选择”<添加>OnCreate”,以初始化对话框对象。
此时在“DemoActiveXCtrl.cpp”中多了两部分代码。
8.修改代码
(1)在“DemoActiveXCtrl.h”增加头文件
(2)修改DemoActiveXCtrl.cpp”
int CDemoActiveXCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (COleControl::OnCreate(lpCreateStruct) == -1) return -1; // TODO: 在此添加您专用的创建代码 m_MyDlg.Create(IDD_DIALOG1,this); //初始化对话框 return 0; }
void CDemoActiveXCtrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid) { if (!pdc) return;
m_MyDlg.MoveWindow(rcBounds,true); }
此时,有编辑框的那个界面已经可以在控件并加载后显示了,先在菜单栏中点击“生成”、“重新生成解决方法”,如果没有错误,则该控件就会在本机中注册。下边编写一简单htm文件在本机上对该控件进行测试。
<html> <HEAD> <TITLE>Test ActiveX</TITLE> </HEAD> <OBJECT ID="TextActiveX" WIDTH=528 HEIGHT=545 classid="CLSID:ECF33ACE-175E-4D25-919A-0FABF03B55D5"> <PARAM NAME="_Version" VALUE="65536"> <PARAM NAME="_ExtentX" VALUE="12806"> <PARAM NAME="_ExtentY" VALUE="1747"> <PARAM NAME="_StockProps" VALUE="0"> </OBJECT> </HTML>
其中“ECF33ACE-175E-4D25-919A-0FABF03B55D5”是通过“DemoActiveXCtrl.idl”获取的
用IE浏览器打开保存的html文件,即可显示控件,如果不行配置下ie的安全选项~~~
以上是关于vs2012开发基于MFC的ActiveX控件的主要内容,如果未能解决你的问题,请参考以下文章
您将使用哪种 C# 项目类型来重新开发 MFC C++ activex 控件?