您的位置:首页 > 编程语言 > C语言/C++

ActiveX(MFC)控件——添加接口及WEB调用

2016-04-14 19:29 483 查看
上一节实现了控件在页面中的加载及界面显示,这一节开始在上一节的基础上添加接口供WEB调用。

手动在CMainDlg.h中添加一方法:

public:

         LONG SetParam(LPCTSTR lpParam);


在CMainDlg.cpp中为:

LONG CMainDlg::SetParam( LPCTSTR lpParam )

{

        CString strParam(lpParam);


 SetDlgItemText(IDC_EDIT_OUTPUT, _T("ActiveX处理后为:") + strParam);
 return 1;

}

在类视图中,右键点击“DemoLib”下的“_DDemo”,在右键菜单中选择“添加”——>“添加方法”,然后按如图进行设置:





 
然后完成。此时向导会在Demo.idl、DemoCtrl.h、DemoCtrl.cpp中添加以下代码:





 



 



在 CDemoCtrl::SetCtrlParam 方法中添加如下图所示代码:



此时点击菜单栏中“生成”、“重新生成解决方案”,如果没有错误,控件将以最新的版本在系统中注册。
生成成功后,我们修改上次的1.htm文件,在其中添加JS以调用控件的接口,1.htm源码为:
<HTML>

<HEAD>

<TITLE>Test ActiveX</TITLE>

</HEAD>
<BODY>

<input type="button" value="接口测试" id="btnOK" onclick="SetParam();"></input>

</BODY>
<OBJECT ID="DemoCtrl" WIDTH=528 HEIGHT=45 classid="CLSID:2131BC48-5E19-4DF6-9534-A534329C365F">

    <PARAM NAME="_Version" VALUE="65536">

    <PARAM NAME="_ExtentX" VALUE="12806">

    <PARAM NAME="_ExtentY" VALUE="1747">

    <PARAM NAME="_StockProps" VALUE="0">

</OBJECT>

<script language="javascript">

    function SetParam()

    {

 var sum = DemoCtrl.SetCtrlParam("Hello, ActiveX!");

 alert(sum);

    }

</script>

</HTML>
 通过浏览器打开1.htm,提示ActiveX,安装后点击页面上按钮,就会看到效果,如图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ActiveX mfc vs c++ 控件