MFCActiveX控件輸入項(xiàng)目名稱,本例子我們起名為FActiveX,點(diǎn)擊確定。在控件設(shè)置中僅選中運(yùn)行時(shí)不可見(jiàn),然后選擇完成。到此一個(gè)完整的ActiveX框架就已經(jīng)搭成了,VC2005為我們生成了所有必須的文件,現(xiàn)在你就可以編譯一下了,應(yīng)該沒(méi)有任何的錯(cuò)誤和警告,否則就可能是你的開(kāi)發(fā)環(huán)境有問(wèn)題了。在工程目錄里的Debug子目錄下已經(jīng)生成了" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

用 VC++ 2005 建立ActiveX 分步走

系統(tǒng) 3012 0

如何使用VC++ 2005創(chuàng)建一個(gè)ActiveX控件呢,請(qǐng)聽(tīng)我慢慢道來(lái)。
?

首先選擇新建項(xiàng)目,選擇 Visual C++? MFC -> MFC ActiveX 控件




輸入項(xiàng)目名稱,本例子我們起名為 FActiveX ,點(diǎn)擊確定。


?

在控件設(shè)置中 僅選中 運(yùn)行時(shí)不可見(jiàn) ,然后選擇完成。

到此一個(gè)完整的 ActiveX 框架就已經(jīng)搭成了, VC2005 為我們生成了所有必須的文件,現(xiàn)在你就可以編譯一下了,應(yīng)該沒(méi)有任何的錯(cuò)誤和警告,否則就可能是你的開(kāi)發(fā)環(huán)境有問(wèn)題了。

在工程目錄里的 Debug 子目錄下已經(jīng)生成了 FAvtiveX.ocx 的文件,說(shuō)明我們已經(jīng)成功生成控件了,只不過(guò)這個(gè)控件沒(méi)有任何功能和接口。

? 下面我們就逐個(gè)添加控件的2個(gè)要素:事件、方法;



在類視圖中選中 CFActiveXCtrl類,點(diǎn)擊右鍵選擇 添加->添加事件

在添加事件向?qū)Ю?,填?xiě)事件名稱 RecvData ,參數(shù)類型 BSTR, 參數(shù)名 strData,

添加 將參數(shù)名添加到參數(shù)列表。

點(diǎn)擊完成,事件就添加完了.

那方法該如何添加呢?

類視圖 ->接口->FAvtiveXlib->接口->_DFAvtiveX 上點(diǎn)擊右鍵選擇 添加->添加方法

在添加方法向?qū)е校祷仡愋瓦x擇void,方法名Show,參數(shù)類型BSTR,參數(shù)名strMsg,

選擇 完成 ,至此方法就添加完成了。

?

打開(kāi) FAvtiveXCtrl.cpp文件,在Show程序里添加如下測(cè)試代碼

    RecvData(strMsg);

void CFAvtiveXCtrl::Show(LPCTSTR strMsg)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());

    // TODO: 在此添加調(diào)度處理程序代碼
    RecvData(strMsg);
}

  

??

現(xiàn)在我們來(lái)重新生成解決方案,應(yīng)該沒(méi)有任何錯(cuò)誤和警告產(chǎn)生。

至此我們的第一個(gè)控件大功告成,現(xiàn)在就讓我們來(lái)測(cè)試一下。 ?

首先新建一個(gè) HTM 文件,內(nèi)容如下:

    <!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測(cè)試</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("響應(yīng)ActiveX觸發(fā)的事件成功:"+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打開(kāi),IE會(huì)提示“ 已限制此網(wǎng)頁(yè)運(yùn)行可以訪問(wèn)計(jì)算機(jī)的腳本或ActiveX控件 ”,請(qǐng)單擊選擇允許阻止的內(nèi)容,在彈出的安全警告窗口選擇“ ”,然后你就可以點(diǎn)擊我們剛剛創(chuàng)建的按鈕,IE會(huì)問(wèn)你想不想交互之類的話,你選擇“ ”即可看到如下窗口彈出:



說(shuō)明我們的控件運(yùn)行正常。

?

用 VC++ 2005 建立ActiveX 分步走


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!??!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 民勤县| 双桥区| 缙云县| 崇文区| 宜宾县| 阜康市| 开阳县| 秦皇岛市| 大同县| 合水县| 阿拉善左旗| 襄城县| 五华县| 奎屯市| 建平县| 宽城| 宁安市| 宁海县| 大英县| 武宁县| 分宜县| 柏乡县| 郯城县| 杭锦旗| 荔浦县| 阿坝| 安义县| 临城县| 来安县| 台山市| 丰县| 塘沽区| 梓潼县| 阳西县| 金华市| 奉贤区| 府谷县| 白城市| 宜都市| 贵阳市| 丰镇市|