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

上一節實現了控件在頁面中的加載及界面顯示,這一節開始在上一節的基礎上添加接口供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”,在右鍵菜單中選擇“添加”——>“添加方法”,然後按如圖進行設置:

使用VS2010開發ActiveX(MFC)控件(3)——添加接口及WEB調用 - Invoker - Forgotten Realms

使用VS2010開發ActiveX(MFC)控件(3)——添加接口及WEB調用 - Invoker - Forgotten Realms

 

然後完成。此時嚮導會在Demo.idl、DemoCtrl.h、DemoCtrl.cpp中添加以下代碼:

使用VS2010開發ActiveX(MFC)控件(3)——添加接口及WEB調用 - Invoker - Forgotten Realms
使用VS2010開發ActiveX(MFC)控件(3)——添加接口及WEB調用 - Invoker - Forgotten Realms

 

使用VS2010開發ActiveX(MFC)控件(3)——添加接口及WEB調用 - Invoker - Forgotten Realms

 

使用VS2010開發ActiveX(MFC)控件(3)——添加接口及WEB調用 - Invoker - Forgotten Realms
在 CDemoCtrl::SetCtrlParam 方法中添加如下圖所示代碼:
使用VS2010開發ActiveX(MFC)控件(3)——添加接口及WEB調用 - Invoker - Forgotten Realms
此時點擊菜單欄中“生成”、“重新生成解決方案”,如果沒有錯誤,控件將以最新的版本在系統中註冊。
生成成功後,我們修改上次的1.htm文件,在其中添加JS以調用控件的接口,1.htm源碼爲:
<HTML>
<HEAD>
<TITLE>Test ActiveX</TITLE>
</HEAD>
<BODY>
<input type="button" value="接口測試" id="btnOK" οnclick="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,安裝後點擊頁面上按鈕,就會看到效果,如圖所示:
使用VS2010開發ActiveX(MFC)控件(3)——添加接口及WEB調用 - Invoker - Forgotten Realms
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章