VFP关于APIl调用avicap32.dll创建窗口的问题
如何让capCreateCaptureWindow创建的图像窗口像avcap.ocx在form上建立的窗口一样“固定”于表单上,而非是“漂浮”在表单上。(如果在表单上设置滚动条就可以感受到,capCreateCaptureWindow创建的窗口是漂浮在表单上的,也就是当滚动条滚动时图像不会跟随表单一起移动,并且该窗口图像会覆盖滚动条,我没有办法把这个窗口置前或置后),请问各位大侠有何办法解决这两个问题?谢谢。附注:我的表单必须使用滚动条。
[解决办法]
不推荐用 capCreateCaptureWindow 了,因为高清摄像头,会出现黑屏问题,而且以后都是这样的摄像头了。
而 avcap.ocx 用的是 DirectShow 技术,不存在此问题。
[解决办法]
感觉像是控件与高拍仪兼容问题。
我的 环境:
XP中文专业版(SP3)
directx 9.0c
VFP9 SP2 (7423)英文原版
用的是笔记本自带的摄像头,用avcap.ocx 1.12破解可以保存住修改的分辨率。
[解决办法]
解决思路大概是这样:
1. 在表单 Scrolled 事件中重置 cap 窗口的位置
2. 新位置可根据表单的 ViewPortLeft 和 ViewPortTop 算出
3. 调用 win32api 的 SetWindowPos 完成 cap 窗口的重定位