c++mfcActiveXDemo.docx
创建MFC ActiveX项目
1.?????? 打开VS2005新建MFC项目。这里我们取名为“ActiveXDemo”。
?
2.?????? 输入项目名称为“ActiveXDemo”和项目位置。点击“确定”按钮,打开向导对话框。
??????????????????????????????
?
3.?????? 选择“控件设置”选项卡,具体设置可参考上图。其它选项卡为默认设置。最后点击“完成”按钮保存设置。
二.??????? 添加控件方法
VC2005会为我们自动创建好MFC ActiveX程序框架,我们只要给该ActiveX控件添加方法即可。现在我们给控件添加一个“AddFun”方法,这个方法是将两个数相加并返回结果。
1.?????? 点击“视图”,打开“类视图”窗口。
2.?????? 展开“ActiveXDemoLib”项,选中“_DActiveXDemo”项。点击鼠标右键,选择“添加”下的“添加方法”。
3.?????? 打开添加方法向导窗口。因为我们是添加一个加法方法,所以我们设置的返回类型为LONG型,方法名设为AddFun,添加两个LONG类型参数Add1,Add2。
?
4.?????? 其它为默认设置,点击“完成”按钮完成添加方法。接下来我们打开“解决方案资源管理器”打开“ActiveXDemoCtrl.cpp”文件。
?
5.?????? 打开代码视图,我们会发现VC2005已经为我们添加了一个“AddFun”方法,我们在方法内添加“return Add1 + Add2;”语句。
?
6.?????? 最后生成项目。
7.注册OCX到系统:regsvr32 *.ocx
三.??????? 测试ActiveX控件
经过上面操作我们已经生成了OCX控件文件。接下来的步骤就是要将这个OCX控件嵌入在Html页面中,通过Javascript来调用控件方法来测试我们的OCX控件是否能正常运行。
1.?????? 我们用“EditPlus”新建一个Html文件,具体内容如下:
!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN /TR/xhtml1/DTD/xhtml1-transitional.dtd
html xmlns=/1999/xhtml
head
meta http-equiv=Content-Type content=text/html; charset=utf-8 /
titleActiveX测试/title
script language = javascript
????????? function AddFun(){
?????????????????? var iResult = MYAvtiveX.AddFun(12, 11);//调用ActiveX控件的AddFun方法。
?????????????????? alert(iResult);
???????? }
/script
/head?
body
object id=MYAvtiveX classid=clsid: F0E7128D-E311-42F1-A0BA-88397960732E/
??? table width=100% border=1
????? tr
??????? td width=20%input type=button onclick=AddFun() value=AddFun /td
????? /tr???
??? /table
/body
/html
上面的“classid”我们可以打开“ActiveXDemo.idl”文件获得:
?
2.?????? 最终的Html页面显示效果如下,点击“AddFun”按钮,弹出计算结果提示框。
HYPERLINK /zdxster/archive/2011/01/27/1945874.html activex控件开发时如何用ie8进行调试
这阵子在搞一个activex的项目,发现dll型的输出控件比较难调试,导致我郁闷了几天了,调试不进去的话就定位不到错误,后面的工作就受阻了。试了好多种方法都不行,原来是不了解ie所致的。好像自从4.0以后,ie在我们打开一个网页时,会启动一个主的进程,和一个副进程,ie的调试器只touch到副进程是不行的,还得touch到主进程才可以。这个我也不确定是否正确,不过要使vs调试到activex工程里面去的话,我们还得按照下面的方法做。第一步:选择activex项目,打开项目属性,在“configuration properties”- “debugging”中的command 中选择ie浏览器所在位置,一般是C:\Program Files\I
原创力文档

文档评论(0)