visual studio2008 下,用vc++开发activex控件

来源:互联网 发布:linux c vim 编辑:程序博客网 时间:2024/06/06 12:28

开发环境:win7  32位, vs2008  


1. 新建项目 --->其他语言--->Visual C++,模板选择MFC ActiveX控件,名称我这里命名为MyActivexTest。然后点击确定

    

2.进入MFC ActiveX控件向导


3.选中运行时许可证


4.控件名称,可以默认,选择下一步


5.控件设置。如果选择运行时不可见,则不会页面上不会显示activex控件,但里面的方法依然还是可以调用的


6.完成后,选择类视图,选择MyActivexTestLib下的_DMyActivexTest,右键--》添加

7.,这里有两个选项,一个是添加方法,一个是添加属性。这里我们选择添加方法。返回类型我们选择LONG,方法名我们选择addFun,给这个方法增加两个参数,add1和add2,点击完成


8.切换到项目的资源视图。打开源文件下的MyActivexTestCtrl.cpp,我们发现,上一步我们定义的方法已经自动生成了。将返回值改为两个参数相加的和


9.同样的切换到类视图,打开选择MyActivexTestLib下的_DMyActivexTest,我们可以看到CMyActivexTestCtrl的类信息,记下此uuid,在web中要用到此uuid。


10.至此,我们的MyActivexTest开发已经完成。选择项目,生成即可。我们在解决方案下目录下的debug文件夹中,可以找到项目生成的MyActivexTest.ocx控件。为了便于测试。我就在此文件夹下新建了一个html文档,具体如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>ActiveX测试</title><script language = 'javascript'>        function AddFun(){var test = MyActivexTest.addFun(1,2);alert(test);}</script></head><body><object id="MyActivexTest" classid="clsid:EB186A09-00B6-4479-92E5-431C77B871A8" cadebase="MyActivexTest.ocx"> </object><input type='button' onclick='AddFun()' value='AddFun'></body></html>

此html中的classid即为上面提到的需要我们记住的的uuid。cadebase即为需要引用的控件。打开页面,运行actvicex控件运行,点击AddFun,即可得到运行结果为3


0 0