窗口置顶问题

Freedom 2016-07-20 11:50:03
给我我做了一个ActiveX控件,我的控件主要功能就是播放视频,当没有播放视频的时候我的按钮可以显示出来如下图

图片中的按钮我我已经设置了置顶m_cloudLeftUp.SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);
当时当我播放视频的时候按钮就会被图像画面遮住如下图



不知道该如何处理,望各位指点一二,万分感谢。
...全文
346 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2016-07-20
  • 打赏
  • 举报
回复
你能否把播放的窗口作为你主窗口的子窗口?
Freedom 2016-07-20
  • 打赏
  • 举报
回复


上面这个是第一个图
@VisualEleven
Eleven 2016-07-20
  • 打赏
  • 举报
回复
2个图不是一样的吗?
cutmelon 2016-07-20
  • 打赏
  • 举报
回复
引用 楼主 sanshao1314 的回复:
给我我做了一个ActiveX控件,我的控件主要功能就是播放视频,当没有播放视频的时候我的按钮可以显示出来如下图 图片中的按钮我我已经设置了置顶m_cloudLeftUp.SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE); 当时当我播放视频的时候按钮就会被图像画面遮住如下图 不知道该如何处理,望各位指点一二,万分感谢。
恕我眼拙,这两图有区别吗?
Eleven 2016-07-20
  • 打赏
  • 举报
回复
那要看你的视频是怎么关联到窗口上的?有没有设置什么窗口的属性~
Freedom 2016-07-20
  • 打赏
  • 举报
回复
引用 11 楼 VisualEleven 的回复:
[quote=引用 9 楼 sanshao1314 的回复:] [quote=引用 8 楼 VisualEleven 的回复:] 你上面的那句m_cloudLeftUp.CreateCreate()调用中this指的是哪个?是你用来播放视频的子窗口指针吗?
this就是视频子窗口[/quote] 你可以检测一下你的代码中是否将视频窗口设置成&TopMost了?[/quote] 怎么检查它有没有被设置为顶层窗口? m_cloudLeftUp.SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE); 这个函数返回成功的。
cutmelon 2016-07-20
  • 打赏
  • 举报
回复
我隐约记得搞成toolwindow能解决这个问题,查查WS_EX_TOOLWINDOW吧
Eleven 2016-07-20
  • 打赏
  • 举报
回复
引用 9 楼 sanshao1314 的回复:
[quote=引用 8 楼 VisualEleven 的回复:] 你上面的那句m_cloudLeftUp.CreateCreate()调用中this指的是哪个?是你用来播放视频的子窗口指针吗?
this就是视频子窗口[/quote] 你可以检测一下你的代码中是否将视频窗口设置成&TopMost了?
Eleven 2016-07-20
  • 打赏
  • 举报
回复
引用 9 楼 sanshao1314 的回复:
[quote=引用 8 楼 VisualEleven 的回复:] 你上面的那句m_cloudLeftUp.CreateCreate()调用中this指的是哪个?是你用来播放视频的子窗口指针吗?
this就是视频子窗口[/quote] 那你试试,如果Create一个非模态对话框,看看该窗口是否始终能保持在视频窗口的前面?如果可以的话,你可以将你的button放在该非模态对话框上。
Freedom 2016-07-20
  • 打赏
  • 举报
回复
引用 8 楼 VisualEleven 的回复:
你上面的那句m_cloudLeftUp.CreateCreate()调用中this指的是哪个?是你用来播放视频的子窗口指针吗?
this就是视频子窗口
Eleven 2016-07-20
  • 打赏
  • 举报
回复
你上面的那句m_cloudLeftUp.CreateCreate()调用中this指的是哪个?是你用来播放视频的子窗口指针吗?
Freedom 2016-07-20
  • 打赏
  • 举报
回复
引用 5 楼 sanshao1314 的回复:
[quote=引用 3 楼 sanshao1314 的回复:] 上面这个是第一个图 @VisualEleven
我现在的做法就是在主窗口上创建了一个child风格的子窗口,子窗口用来播放视频,上图的箭头需要放到视频窗口中。[/quote] m_cloudLeftUp.Create("",WS_CHILD | WS_VISIBLE,CRect(0,0,40,40),this,4099); 按钮的风格就是child的,不行。
Eleven 2016-07-20
  • 打赏
  • 举报
回复
引用 5 楼 sanshao1314 的回复:
[quote=引用 3 楼 sanshao1314 的回复:] 上面这个是第一个图 @VisualEleven
我现在的做法就是在主窗口上创建了一个child风格的子窗口,子窗口用来播放视频,上图的箭头需要放到视频窗口中。[/quote] 可以将按钮作为child风格的子窗口的子控件即可。
Freedom 2016-07-20
  • 打赏
  • 举报
回复
引用 3 楼 sanshao1314 的回复:
上面这个是第一个图 @VisualEleven
我现在的做法就是在主窗口上创建了一个child风格的子窗口,子窗口用来播放视频,上图的箭头需要放到视频窗口中。

15,979

社区成员

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

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