DirectShow播放画面被覆盖的问题

happyprogram 2002-04-15 09:26:16
我在用DirectShow播放时,将播放的父窗口设置为对话框上的一个Picture控件上,但是播放时在调整对话框大小时,随机的会出现Picture控件“覆盖”掉播放画面的问题,我不知道是为什么,大家有没有遇到过类似的问题?有没有什么好的解决办法吗?
...全文
39 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2002-04-19
  • 打赏
  • 举报
回复
有个好办法,请试一试:
1.去掉picture
2.重载对话框的OnPaint()函数
3.在函数中加入以下语句:
CPaintDC dc(this); // device context for painting
CRect rect ;
GetClientRect(&rect) ;
CBrush brush(RGB(0,0,0)) ;
dc.FillRect(rect,&brush) ;
4.将IVideoWindow的窗口设为该对话框:
m_pivw -> put_Owner((OAHWND)GetSafeHwnd());
在改变窗口大小的时候就不会出现覆盖现象了,而且对话框的窗口背景是黑色的。
利友视讯 2002-04-16
  • 打赏
  • 举报
回复
我以前也碰到过这个问题,你要把IVideoWindow的窗口设为这个Picture就可以了。就这句里面:m_pivw -> put_Owner((OAHWND)m_hWnd); 这个m_hWnd句柄你将它指向Picture就可以了
ququshb 2002-04-16
  • 打赏
  • 举报
回复
好象我也是用的picture,
设成frame ,黑色试试
利友视讯 2002-04-16
  • 打赏
  • 举报
回复
加一个picture以后,视频图像大部分时间能显出来,偶尔也会被picture遮盖住。
happyprogram 2002-04-16
  • 打赏
  • 举报
回复
afoolboy:
你以前碰到的问题是什么现象呢?
happyprogram 2002-04-15
  • 打赏
  • 举报
回复
是不是picture和directshow不能兼容呢?
happyprogram 2002-04-15
  • 打赏
  • 举报
回复
我想在没有播放时,将窗口的背景设置为黑色,并且当播放画面没有占据全部窗口时,窗口的其他部分能够保持黑色。
我用的是VC++
panel如何使用呢?
aawolf有没有oicq呢?想向你请教,14633334
aawolf 2002-04-15
  • 打赏
  • 举报
回复
为什么要用picture呢,用个panel不好吗?

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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