MyCam 开发日志(十七)----- OnMouseMove()之痛苦经历

本文记录了作者在实现特定条件下显示与隐藏ControlBar及ToolTip过程中遇到的技术难题及解决过程。涉及透明ControlBar的设计与实现,以及仿照按钮制作ToolTip等。

2008-10-20

之前要做透明的ControlBar已经很痛苦。现在要求什么鼠标不移动的情况下,五秒内将ControlBar隐藏,但是如果移出特定的窗口,又要Hide这个ControlBar。这两个问题,一个解决了,另外一个又不行。

搞一天了,搞定我后面的功能都没有办法做上去。不管怎么样,笑对问题。

 

 

老大今天在我这里搞得也很郁闷,各种方法都试过了。

以后的文章详细讲述这些搞到人发疯的问题。

 

2008-10-21来看看我已经做成的主界面。这段时间主要处理的就是主界面上那个透明的ControlBar。

PM要求效果:当鼠标移到PREVIEW(外面的大窗口)的时候,ControlBar显示出来。

然后如果在改界面内,鼠标5秒不动的话,隐藏该ControlBar。

另外这个ControlBar其实都是有贴图来实现的,所以在这个基础上要制作出按钮的效果,比直接利用网上别人写的重载类要魔麻烦很多。不过我还是搞定了。

另外一个问题,就是ToolTip的制作了,也是仿照button的ToolTip来做。在实现的过程中也碰到好多问题,不过最终还是把它Fix了,而且组员说这个实现的效果比他之前做的要好。虽然尝试了很多种方法和Debug了无数次,几乎要放弃的时候终于拨开乌云见天日。

 

当鼠标移动到“右箭头”的时候:

 

那个ToolTip一样也有多国语言版本,而且当鼠标放在“右箭头”的不动,一段时间之后它会自动消失。

 

下面是截至20080916日,我完成的MyCam的所有功能后的制作的Demo版界面(因为公司在这之前没有提供任何界面上的图片资源给我,所以DEMO版的界面上的图都是自己找的。不知道大家有没有看出来,它出自哪里呢)

 

答对者有奖喔。

 

后来等我完成所有的UI架构和代码实现后,PM跟我说他现在开始重新设计这个软件的界面,这个直接导致了前面的“换工作”事件的发生。出去面试了几家公司,好消息是基本全部通过;坏消息,现在我还留在了原来的公司。原因请大家继续关注“换工作记”系列文档。虽然更新的很慢。:)

 

 

海康威视 DS-77161-E4-V3 是一款网络硬盘录像机(NVR),主要用于视频监控系统中的视频流接收、存储和管理。该设备支持多种高清视频输入格式,并具备强大的网络功能和扩展能力,适用于中大型安防项目。 ### 规格 - **视频输入**:支持最多 16 路 1080P 或 4K 视频输入,具体取决于编码方式和通道配置[^1]。 - **视频压缩**:支持 H.265 和 H.264 编码标准,有效降低带宽和存储需求。 - **存储能力**:内置多个 SATA 接口,支持大容量硬盘安装,提供本地存储及 RAID 配置选项。 - **网络接口**:配备多个千兆以太网接口,支持冗余网络配置,确保数据传输的稳定性。 - **扩展能力**:支持 eSATA 和 USB 接口外接存储设备或备份工具。 - **电源**:采用冗余电源设计,提升系统可靠性。 ### 功能 - **远程访问与管理**:通过海康威视的 iVMS-4200 客户端软件或网页浏览器实现远程配置与监控[^1]。 - **智能分析**:部分型号支持智能视频分析功能,如移动侦测、区域入侵检测等。 - **报警输入/输出**:支持多路报警输入与输出接口,可连接外部传感器或其他安防设备。 - **双操作系统支持**:部分版本提供 Linux 和 Windows 双系统选择,增强兼容性与稳定性。 ### 驱动与固件下载 海康威视官方提供了针对 DS-77161-E4-V3 的驱动程序、固件更新和客户端软件下载。可以通过以下途径获取: 1. 访问海康威视官方网站,在“服务与支持”或“产品中心”栏目下搜索 DS-77161-E4-V3 型号。 2. 下载对应的操作手册、规格书以及最新版固件文件。 3. 提供了 iVMS-4200 客户端管理软件,用于设备的集中管理和视频回放。 ### 示例代码:使用 Python 获取设备信息 如果需要通过编程方式访问设备信息(例如获取状态或控制摄像头),可以使用 ONVIF 协议进行通信。以下是一个简单的示例,展示如何使用 `onvif` 库获取设备信息: ```python from onvif import ONVIFCamera # 创建 ONVIF 相机对象 mycam = ONVIFCamera('192.168.1.64', 80, 'admin', 'password') # 获取设备信息 device_info = mycam.devicemgmt.GetDeviceInformation() print(f"设备制造商: {device_info.Manufacturer}") print(f"设备型号: {device_info.Model}") print(f"设备固件版本: {device_info.FirmwareVersion}") ``` 请根据实际 IP 地址、用户名和密码修改代码中的参数。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值