有关窗口及子窗口刷新机制的疑问(视频采集应用)
Elsie 2004-04-01 09:51:58 是这样的,偶正在做一个视频捕获的模块,用VC+视频卡厂商的开发包
(Matrox家的卡)。
测试的时候在一个Dialog上面放了一个灰色的CStatic对象用于显示动
态视频图像(视频显示刷新归视频卡那边处理,只要把显示窗口的句柄
交代给视频卡设置函数就可以)。
在一般情况下都很正常,但是只要有其它窗口处于活动状态的话视频就
会开始狂闪,比如单击弹出了此Dialog的菜单或者其它程序窗口覆盖了
此Dialog等。
看开发包的说明文档,视频卡的视频显示应该可以设置为接受到
WM_ERASEBKGND消息或者WM_PAINT消息后刷新,不过两种设置下碰到上
面情况都会闪 :(
(原文:Sets when the display will be updated......
Updates the display on reception of a WM_ERASEBKGND
message in Windows......Updates the display on reception
of a WM_PAINT message in Windows......)
后来我试过去掉那个CStatic对象,直接在Dialog的客户区显示视频,
就什么问题也没有。
不过这样的话没法灵活控制视频显示在窗口中的区域,没法满足实际使
用要求。
偶对对话框窗口及其子窗口之间的刷新机制理解不是很透彻,麻烦哪位
大牛来帮忙剖析一下产生这种闪烁现象的机理,多谢多谢~