VC6开发视频监控ActiveX控件总结
? ?總結前段時間在VC6下使用MFC開發視頻監控控件過程中遇到的一些問題.
1.獲取控件當前所在路徑,用于讀取該目錄下的INI配置文件
獲取配置文件路徑?
2.獲取當前運行控件的電腦上的固定盤符列表,用于本地錄像文件存放
獲取固定盤符列表的函數?
3.視頻1,4,9,16路畫面切換顯示
?? 較簡單地實現,在窗體上拖16個STATIC控件(定義數組為panels),動態調整它們的位置大小即可,然后定義一個類如CPlayStatic去繼承CStatic,每一個STATIC控件就由CPlayStatic管理;因為我們要在Static控件上添加鼠標,鍵盤事件處理,鼠標單擊事件,選中該一播放面板時繪制綠色邊框,可以很明顯地看出當前是選中那一路視頻播放窗體,同時恢復上一路選中邊框為默認灰色邊框;鼠標雙擊事件,實現視頻瀏覽窗口的全屏功能(按多路預覽-->單屏預覽-->全屏-->單路瀏覽-->多路預覽);右擊菜單,對當前畫面進行操作,如本地錄像,語音對講,抓圖等操作;鍵盤事件處理,如該窗體當前正在預覽按F2/F鍵進入全屏模式,按Esc退出全屏,恢復普通模式(需讓該窗體獲得焦點,處理KeyDown事件)
1,4,9,16路畫面切換?
4.畫面全屏顯示 需注意播放窗口全屏后,就不能夠通過GetDlgItem(int ctrlid)獲取到該STATIC控件句柄了
全屏?
5.如果ActiveX控件要使用其它第三方的ActiveX,需在InitInstance()方法中添加AfxEnableControlContainer(); 否則會造成第三方控件無法顯示,控件創建出錯
6.ActiveX在網頁中使用
? 需使用object標簽,其classid具體值可在odl文件中找到,一般在文件最后,不要弄錯,否則將會造成控件無法成功創建; odl文件中包含了控件的所有屬性,方法以及事件;使用如下
<object id="ocx1" height="520" width="640"?
??????classid="clsid:D55EFD59-8482-4486-9FDE-669EFAC4221B">
?????</object>
若JavaScript想調用控件的方法,可以這樣ocx1.RealPlay();調用控件的RealPlay方法
?
7.相關參考文章
使用MFC開發ActiveX控件全過程
ActiveX的設計
在ActiveX控件中引入窗體技術
如何將MFC ActiveX控件標記為安全
將ActiveX控件標記為腳本安全和初始化安全
ActiveX控件數字簽名的實現
ActiveX安全:改進和最佳實踐[MSDN]
JavaScript 響應 ActiveX 事件
ActiveX組件與JavaScript交互?
javascript腳本中定義的參數數組,如何在VC++中訪問
IExpress壓縮CAB文件及制作安裝程序所開發的小工具
Web發布cab文件打包的ActiveX控件總結
制作cab包,參考inf文件
本文轉自peterzb博客園博客,原文鏈接:http://www.cnblogs.com/peterzb/archive/2009/05/28/1491198.html,如需轉載請自行聯系原作者。
總結
以上是生活随笔為你收集整理的VC6开发视频监控ActiveX控件总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息时代把数据当成了信息,互联网让数据真
- 下一篇: 浅析Memcache和Redis