開發工具:
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腳本如下:
CLASSID="CLSID:96908503-3BEB-4E2B-AA87-F44DC492BC0E"
CODEBASE="release/ActiveXControlTest1.ocx">
相關連結:
Microsoft ActiveX Control Pad
http://msdn2.microsoft.com/en-us/library/ms968493.aspx