VC6开发视频监控ActiveX控件总结

简介:

   总结前段时间在VC6下使用MFC开发视频监控控件过程中遇到的一些问题.

1.获取控件当前所在路径,用于读取该目录下的INI配置文件

ContractedBlock.gif 获取配置文件路径

 

2.获取当前运行控件的电脑上的固定盘符列表,用于本地录像文件存放

ContractedBlock.gif 获取固定盘符列表的函数

 

3.视频1,4,9,16路画面切换显示

   较简单地实现,在窗体上拖16个STATIC控件(定义数组为panels),动态调整它们的位置大小即可,然后定义一个类如CPlayStatic去继承CStatic,每一个STATIC控件就由CPlayStatic管理;因为我们要在Static控件上添加鼠标,键盘事件处理,鼠标单击事件,选中该一播放面板时绘制绿色边框,可以很明显地看出当前是选中那一路视频播放窗体,同时恢复上一路选中边框为默认灰色边框;鼠标双击事件,实现视频浏览窗口的全屏功能(按多路预览-->单屏预览-->全屏-->单路浏览-->多路预览);右击菜单,对当前画面进行操作,如本地录像,语音对讲,抓图等操作;键盘事件处理,如该窗体当前正在预览按F2/F键进入全屏模式,按Esc退出全屏,恢复普通模式(需让该窗体获得焦点,处理KeyDown事件)

ContractedBlock.gif 1,4,9,16路画面切换

 

4.画面全屏显示 需注意播放窗口全屏后,就不能够通过GetDlgItem(int ctrlid)获取到该STATIC控件句柄了

ContractedBlock.gif 全屏

 

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,如需转载请自行联系原作者。

目录
相关文章
|
5月前
|
Windows
LabVIEW中ActiveX控件、ActiveX服务器和类型库注册
LabVIEW中ActiveX控件、ActiveX服务器和类型库注册
182 4
|
5月前
|
JavaScript Linux C#
【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件
【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件
132 0
|
开发框架 前端开发 IDE
Win32编程点滴3 - 简单ActiveX控件的使用
虽然这里一片的.net气氛,到处充斥着像MVC、WPF、WorkFlow、LINQ等各种niubility的术语。但我们使用的Windows还是由COM技术主宰着;我们在选择日常使用的软件时,也会避免使用.net开发的软件。
1141 0
【Win 10应用开发】SplitView控件
原文:【Win 10应用开发】SplitView控件 SplitView控件用于呈现分隔视图,简单地说,就是把一个视图分割为两部分,Content属性所表示的为主要视图,而Pane属性设置的视图则可以隐藏,可以折叠和展开。
810 0