欲在網頁呼叫 VC++ 撰寫的對話框,必須封裝為 ActiveX 控制項(OCX)。本文以 Visual C++ 6.0 為例,逐步示範從專案建立、對話框資源新增、方法公開、編譯註冊到 HTML 網頁嵌入的完整流程。
OcxTest,一路 Next 至 Finish。IDD_DIALOG1,類別向導建立 CTok : public CDialog。testocx,回傳 void,參數無。實作:void COcxTestCtrl::testocx() {
CTok dlg; dlg.DoModal(); // 彈出模態對話框
}
OcxTest.odl,找 [uuid(...)] 區段,複製 GUID(如 4FCAE43F-9212-4ECE-A804-D25D792CCEE1)。<HTML><BODY>
<INPUT id=btn type=button value="彈出對話框" name=btn>
<OBJECT id=OCX1 classid="clsid:4FCAE43F-9212-4ECE-A804-D25D792CCEE1">
<PARAM NAME="_Version" VALUE="65536"></OBJECT>
<SCRIPT LANGUAGE=vbscript>
Sub btn_onclick: OCX1.testocx(): End Sub
</SCRIPT>
</BODY></HTML>
雙擊 HTML,點擊按鈕即彈出 VC++ 對話框。classid 必須與機器註冊的 GUID 完全一致。