[MFC]WMP控件在对话框中被背景图片遮挡无法显示

lazysmile 2011-03-24 04:41:44
最近在用mfc做一个Windows Media Player的小工具时发现如果给在对话框中使用OnPaint函数渲染上背景色或是图片时,WMP控件会被背景挡住,奇怪的是按钮,单选框之类的控件就没有被挡~有点摸不着头脑,还请大牛指点一二。
...全文
336 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunnyes2008 2012-10-09
  • 打赏
  • 举报
回复
碰到同样的问题,看看
lazysmile 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 superarhow 的回复:]

那么就在对话框风格上加上WS_CLIPCHILDREN试试吧
还有就是
CDialog::OnPaint();
这一句前面加上PaintWindowlessControls(&dc);
[/Quote]
好了,非常感谢。
superarhow 2011-03-24
  • 打赏
  • 举报
回复
那么就在对话框风格上加上WS_CLIPCHILDREN试试吧
还有就是
CDialog::OnPaint();
这一句前面加上PaintWindowlessControls(&dc);
lazysmile 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 superarhow 的回复:]
记得是跟windowless风格有关,缺省拖上去的好像是windowless的,把它改成false就行了。或者在OnPaint的最后加上PaintWindowlessControls调用。
[/Quote]
你是说控件的windowslessVideo属性吧?我试过了true和false都不行~背景颜色的添加方式会有影响吗?我的OnPaint函数代码是


CRect rect;
GetClientRect(&rect);
dc.FillSolidRect(rect,RGB(0,255,0)); //设置为绿色背景
CDialog::OnPaint();

superarhow 2011-03-24
  • 打赏
  • 举报
回复
记得是跟windowless风格有关,缺省拖上去的好像是windowless的,把它改成false就行了。或者在OnPaint的最后加上PaintWindowlessControls调用。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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