如何使用VC++ 2005創建一個ActiveX控件呢,請聽我慢慢道來。
?
首先選擇新建項目,選擇 Visual C++? MFC -> MFC ActiveX 控件
輸入項目名稱,本例子我們起名為
FActiveX
,點擊確定。
?
在控件設置中
僅選中
運行時不可見
,然后選擇完成。
到此一個完整的 ActiveX 框架就已經搭成了, VC2005 為我們生成了所有必須的文件,現在你就可以編譯一下了,應該沒有任何的錯誤和警告,否則就可能是你的開發環境有問題了。
在工程目錄里的 Debug 子目錄下已經生成了 FAvtiveX.ocx 的文件,說明我們已經成功生成控件了,只不過這個控件沒有任何功能和接口。
?
下面我們就逐個添加控件的2個要素:事件、方法;
在類視圖中選中 CFActiveXCtrl類,點擊右鍵選擇
添加->添加事件
在添加事件向導里,填寫事件名稱
RecvData
,參數類型
BSTR,
參數名
strData,
按
添加
將參數名添加到參數列表。
點擊完成,事件就添加完了.
那方法該如何添加呢?
在
類視圖 ->接口->FAvtiveXlib->接口->_DFAvtiveX
上點擊右鍵選擇
添加->添加方法
在添加方法向導中,返回類型選擇void,方法名Show,參數類型BSTR,參數名strMsg,
選擇
完成
,至此方法就添加完成了。
?
打開 FAvtiveXCtrl.cpp文件,在Show程序里添加如下測試代碼
RecvData(strMsg); void CFAvtiveXCtrl::Show(LPCTSTR strMsg) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); // TODO: 在此添加調度處理程序代碼 RecvData(strMsg); }
??
現在我們來重新生成解決方案,應該沒有任何錯誤和警告產生。
至此我們的第一個控件大功告成,現在就讓我們來測試一下。 ?
首先新建一個 HTM 文件,內容如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>ActiveX測試</title> </head> <object id="MYAvtiveX" classid="clsid:42BB26D9-323D-4E06-A2B3-D04CF3C4C074" > </object> <body> <input type='button' onclick='MYAvtiveX.Show("Hello World!")' value='Click'> <script language='javascript' for='MYAvtiveX' event='RecvData(Message)'> alert("響應ActiveX觸發的事件成功:"+Message); </script> </body> </html>
??
?
其中的
classid="clsid:42BB26D9-323D-4E06-A2B3-D04CF3C4C074"
代表我們剛剛生成的控件
clsid
可從
FAvtiveX.idl
文件中查到:
?
// CFAvtiveXCtrl 的類信息 [ uuid(42BB26D9-323D-4E06-A2B3-D04CF3C4C074), helpstring("FAvtiveX Control"), control ] coclass FAvtiveX { [default] dispinterface _DFAvtiveX; [default, source] dispinterface _DFAvtiveXEvents; };
?
保存HTM文件,用IE打開,IE會提示“
已限制此網頁運行可以訪問計算機的腳本或ActiveX控件
”,請單擊選擇允許阻止的內容,在彈出的安全警告窗口選擇“
是
”,然后你就可以點擊我們剛剛創建的按鈕,IE會問你想不想交互之類的話,你選擇“
是
”即可看到如下窗口彈出:
說明我們的控件運行正常。
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
