代码改变世界

VC2005开发MFC ActiveX控件基础教程

2009-12-22 16:46  和尚释然  阅读(9781)  评论(5编辑  收藏  举报

 

时间:2009-12-22 作者:和尚释然

一.        创建MFC ActiveX项目

1.       打开VS2005新建MFC项目。这里我们取名为“ActiveXDemo”。

 

2.       输入项目名称为“ActiveXDemo”和项目位置。点击“确定”按钮,打开向导对话框。

                              

 

3.       选择“控件设置”选项卡,具体设置可参考上图。其它选项卡为默认设置。最后点击“完成”按钮保存设置。

二.        添加控件方法

VC2005会为我们自动创建好MFC ActiveX程序框架,我们只要给该ActiveX控件添加方法即可。现在我们给控件添加一个“AddFun”方法,这个方法是将两个数相加并返回结果。

1.       点击“视图”,打开“类视图”窗口。

2.       展开“ActiveXDemoLib”项,选中“_DActiveXDemo”项。点击鼠标右键,选择“添加”下的“添加方法”。

3.       打开添加方法向导窗口。因为我们是添加一个加法方法,所以我们设置的返回类型为LONG型,方法名设为AddFun,添加两个LONG类型参数Add1Add2

 

4.       其它为默认设置,点击“完成”按钮完成添加方法。接下来我们打开“解决方案资源管理器”打开“ActiveXDemoCtrl.cpp”文件。

 

5.       打开代码视图,我们会发现VC2005已经为我们添加了一个“AddFun”方法,我们在方法内添加“return Add1 + Add2;”语句。

 

6.       最后生成项目。

三.        测试ActiveX控件

经过上面操作我们已经生成了OCX控件文件。接下来的步骤就是要将这个OCX控件嵌入在Html页面中,通过Javascript来调用控件方法来测试我们的OCX控件是否能正常运行。

1.       我们用“EditPlus”新建一个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 iResult = MYAvtiveX.AddFun(12, 11);//调用ActiveX控件的AddFun方法。

                   alert(iResult);

         }

</script>

</head>

 

<body>

<object id="MYAvtiveX" classid="clsid: F0E7128D-E311-42F1-A0BA-88397960732E"> </object>

<fieldset>

<legend>MyActiveX测试</legend>

    <table width="100%" border="1">

      <tr>

        <td width="20%"><input type='button' onclick='AddFun()' value='AddFun'> </td>

      </tr>   

    </table>

</fieldset>

</body>

</html>

上面的“classid”我们可以打开“ActiveXDemo.idl”文件获得:

 

2.       最终的Html页面显示效果如下,点击“AddFun”按钮,弹出计算结果提示框。