播放窗口的消息处理

极深研几 2004-06-12 08:11:42
我修改一个别人的工程。单文档-视图结构,而播放窗口是对应的视图类CDxView的一个子窗口(一个无模式的对话框m_dlgview),当我进行相关的初始化指定了owner窗口(m_dlgview),Notify窗口后,开始播放。但是发现cpu占有率特别高,从别的程序且过来的时候,屏幕表面只有播放窗口位置在播放,却没有得到任何消息,包括wm_paint,wm_activeapp等。当我用spy++察看该窗口m_dlgview消息时发现一大堆的wm_paint,所以显示很不流畅。CDxView,m_dlgView以外的区域,没有重画。但是点击CDxView的一个控件后,却回复正常。
就是说,这个播放窗口挡住了,CDxView的消息。但是我记得没改之前,却没有这个问题,这好像是一个很常见的问题。正在研究代码,可能的原因:m_dlgview的窗口风格
ws_clipsiblings;directshow的调用有问题...。代码比较多,而且与上网的机器连不上。
我的目的是基于这个无模式的对话框来处理消息:双击全屏,大家有什么思路,或有
示例代码,希望尽快回复!谢谢
希望各位高手不吝赐教,分可再加。
...全文
84 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
极深研几 2004-06-17
  • 打赏
  • 举报
回复
哦,这个我已经注意到了。但是其中实际上用的是vmr9接口来实现的,而那一部分IVideoWindow::put_MessageDrain返回的错误是不支持该接口。那些调用根本没起作用。
注释掉也没有影响。
有没有可能是别的原因,问题是,这个无模式的对话框把输入焦点占了。而且得到了一大堆
的wm_paint消息,谢谢能不能帮忙分析一下
shenming123 2004-06-12
  • 打赏
  • 举报
回复
IVideoWindow::put_MessageDrain
The put_MessageDrain method specifies a window to receive mouse and keyboard messages from the video window.

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧