ActiveX控件使用总结
開發環境:vs2015
上網找了很多關于這方面的資料進行學習。
終于給我找到幾個比較好的文章。
因為知識比較老。一般是接觸硬件和底層的人才會去學習。
參考文章:這是兩個比較好的文章
ActiveX控件的基本操作方法以及如何在VS2010下使用控件
https://blog.csdn.net/u014028070/article/details/38424611
c++ ActiveX基礎1:這個講了如何提供外部接口調用
https://blog.csdn.net/qq445803843/article/details/45845585
下面演示生成控件,html調用控件的例子
一、創建控件
1.先創建ActiveX項目
到這里不急著敲代碼
先了解一下控件項目的架構。
參考:一個別人分享的資源文檔。我會在文章最下面分享鏈接。
找到類視圖,分析對應結構。
其中的 CActiveXApp 是我們這個控件的主程序模塊,定義了控件的注冊
(DllRegisterServer)、刪除(DllUnregisterServer)等功能,一般不用動,如有需要我們可以
在其中的 InitInstance 和 ExitInstance 中定義我們自己的初始化和終止操作代碼,一般也就是
一些資源的初始化和銷毀工作。
Caxtivexdemo1Ctrl 是控件類,我們要做的控件功能基本上就是要在這個類中實現。
需要提一下的是在這個類中重寫了父類的 OnDraw 函數,有如下兩句代碼:
pdc->FillRect(rcBounds,
CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
pdc->Ellipse(rcBounds);
也就是在控件上畫了一個橢圓,實際控件開發中可以根據功能需要修改重寫這個函數來
繪制控件界面。
CActiveXPropPage 是屬性頁類,這個類實現了一個在開發時設定控件屬性的對話
框。
CActiveXLib 是為客戶程序提供本控件的屬性、方法以及可能響應的事件的接口的
庫節點,在添加控件的這些功能的時候會用得到。
2.創建對外的接口
定義調度映射和事件映射方法,提供給外部調用者使用
右鍵-添加-添加方法-確定
生成一個對外的接口函數
例子:Start()
會在3個地方添加代碼。
1.idl文件
2.ctrl控制類的定義和實現
到這里控件就OK了。
生成項目即可。會生成一個ocx文件。
這里建議大家把注冊輸出改為否。
后面自己手動注冊即可。下面有描述。
事件–映射返回數據
右鍵添加–事件
正常函數調用
屬性返參:
右鍵–添加–屬性
頁面調用:
<!DOCTYPE html> <html> <head><meta charset="utf-8"><title>testAll</title><style>*.button {height: 50px;padding-left: 20px;padding-right: 20px;}</style> </head> <body><div style="position: fixed;top: 20px"><label for="">結果</label><input type="text" id="result" style="width: 600px;"></div><div style="position: fixed; top: 50px"><div><object classid="clsid:C468DFBB-2F32-4CA6-8461-1791A29A4B00" id="ocx" width="0px" height="0px"></object></div><h3>非阻塞接口</h3><div><input class="button" type="button" value="test" onclick="onTest()"></div></div><!-- 事件處理 --><script>function onTest() {var resp_str =ocx.start(); result.value = ocx.pOutInfo;}</script> </body></html>二、使用控件–使用html方式調用控件
1.注冊控件。
注冊方式。我是用bat方式的。比較方便。
%~dp0的意思是當前路徑。
注冊bat:
cd /d %~dp0
regsvr32 ActiveX.ocx
反注冊bat:
cd /d %~dp0
regsvr32 -u ActiveX.ocx
右鍵管理員模式運行即可成功注冊。
2.html調用ocx
html學習網址:
https://www.w3school.com.cn/html/index.asp
代碼:
解釋:
需要使用IE瀏覽器打開。
成功!!!
添加捕捉ActiveX控件的事件數據
1.右鍵類視圖里的控制類–添加事件
添加后會在2個地方添加代碼:
然后生成控件后使用html
html添加代碼:
<!-- 事件處理 函數名就是你定義的事件名 --><script type="text/javascript" for="L" event="OnDo(data)">L.value = data;alert(data);</script>
成功捕捉事件數據!!!
三、使用控件–使用MFC方式調用控件
1.到Dialog右鍵插入已經注冊好的控件
2.右鍵控件處添加變量
添加變量后即可調用你的控件內的接口!!!
如果要去掉提示彈窗:
參考下面文章:
去掉彈窗
1.遇到窗口下彈窗
https://zhidao.baidu.com/question/252382360.html
2.提示彈窗
https://zhidao.baidu.com/question/304928075497826844.html
基于MFC的ActiveX控件開發.pdf
鏈接:https://pan.baidu.com/s/17kilQgwdRtAt3PHrJgDrCg
提取碼:bhnr
修改時間:2021-06-07
總結
以上是生活随笔為你收集整理的ActiveX控件使用总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MockingBrid(AI拟声)教程
- 下一篇: 番茄工作法总结-第二章:背景