開發工具:
1. Visual Studio 2005,用於ActiveX組件的開發
2. Microsoft ActiveX Control Pad,用於產生包含ActiveX Control的HTML網頁。
步驟:
1. 通過Visual Studio 2005建立一個MFC ActiveX Control工程,編譯之後在debug/release目錄下可以找到一個XXXX.ocx檔案。具體步驟可以參考MSDN。
2. 在ActiveX Control Pad選擇菜單File -> New HTML,建立一個HTML頁面。
3. 從ActiveX Control Pad選擇菜單Edit -> Insert ActiveX Control ....,然後會彈出一個訊息框。從訊息框的列表中選擇相應的ActiveX Control,點擊OK即可將ActiveX Control插入到HTML頁面。
4. 在本機通過IE瀏覽器開啟產生的HTML即可看到ActiveX Control顯示在HTML頁面中。
如果把網頁放到HTTP server上,要讓其他電腦上可以通過IE來訪問該頁面並且ActiveX組件可以正常運行,還有一些額外的步驟需要完成。
通過ActiveX Control Pad產生的HTML看起來就像下面一定指令碼:
<HTML>
<HEAD>
<TITLE>New Page</TITLE>
</HEAD>
<BODY>
<OBJECT ID="ActiveXControlTest11" WIDTH=100 HEIGHT=51
CLASSID="CLSID:96908503-3BEB-4E2B-AA87-F44DC492BC0E">
<PARAM NAME="_Version" VALUE="65536">
<PARAM NAME="_ExtentX" VALUE="2646">
<PARAM NAME="_ExtentY" VALUE="1323">
<PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
</BODY>
</HTML>
每一個ActiveX Control都會有一個對應的CLSID,該ID是唯一的。通過OBJECT的CLASSID屬性指定ActiveX Contorl的ID,就可以找到相應的ActiveX Control。每一個ActiveX Control都必須先註冊,再使用。上述執行個體可以正常運行是因為在編譯ActiveX工程的時候,VS2005會自動完成對ActiveX Control的註冊。ActiveX Contorl的註冊和反註冊也可以通過工具 + 生產力regsvr32完成。
如HTML中對OBJECT加入CODEBASE屬性,就可以讓IE自動完成對ActiveX Control的註冊。修改後的HTML指令碼如下:
<HTML>
<HEAD>
<TITLE>New Page</TITLE>
</HEAD>
<BODY>
<OBJECT ID="ActiveXControlTest11" WIDTH=100 HEIGHT=51
CLASSID="CLSID:96908503-3BEB-4E2B-AA87-F44DC492BC0E"
CODEBASE="release/ActiveXControlTest1.ocx">
<PARAM NAME="_Version" VALUE="65536">
<PARAM NAME="_ExtentX" VALUE="2646">
<PARAM NAME="_ExtentY" VALUE="1323">
<PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
</BODY>
</HTML>
相關連結:
Microsoft ActiveX Control Pad
http://msdn2.microsoft.com/en-us/library/ms968493.aspx