MFC设置对话框窗口位于所有窗口的最顶层

fengyihua19871104 2010-07-27 11:08:36
给位大侠中午好,我现在在做一个视频播放器,现在遇到一个问题,当我全屏播放的时候,我想实现鼠标移动到屏幕的最下面是,跳出来一个播控对话框,上面有进度条,快进快退等等,但是现在我的播控对话框被播放器覆盖了,我想问一下有没有什么方法能使播控对话框始终显示在最顶层,无论什么时候。
...全文
2430 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2010-08-25
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
fengyihua19871104 2010-07-27
  • 打赏
  • 举报
回复
就像我们平常玩WC3的时候他是不是就是topmost,我们有没有什么办法使对话框在我们网游戏的时候也能显示在最上层的。
暴风影音的下面那个播控有没有大侠知道是怎么实现的,我这个东西搞了一个多星期了,网上找了无数的代码和资料还是没有解决。
fengyihua19871104 2010-07-27
  • 打赏
  • 举报
回复
恩 setWindowPos()函数使用过了, 可是还是不见效,有没有什么别的方案了。好像播放器一全屏他就设置为topmost了,然后我设置播控对话框的属性为topmost,但是没有反应。
梧桐126 2010-07-27
  • 打赏
  • 举报
回复
是不是播放器默认就是最顶层了?
sunlin7 2010-07-27
  • 打赏
  • 举报
回复
将控制窗口设为你播放窗口的子窗口,当你的播放窗口在最前面时候,控制窗口一定在播放窗口之上。
luodx1021 2010-07-27
  • 打赏
  • 举报
回复
将对话框窗口置顶的具体代码如下:

CRect rtClient;
GetWindowRect(rtClient);
::SetWindowPos(m_hWnd, HWND_TOPMOST, rtClient.left, rtClient.top, rtClient.Width(), rtClient.Height(), SWP_SHOWWINDOW);
浅蓝马 2010-07-27
  • 打赏
  • 举报
回复
试过了SetWindowPos函数了?
hurryboylqs 2010-07-27
  • 打赏
  • 举报
回复
SetWindowPos(wndTopMost,...)
Eleven 2010-07-27
  • 打赏
  • 举报
回复
SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
luodx1021 2010-07-27
  • 打赏
  • 举报
回复
很可能是因为你的全屏的播放器本身也是置顶窗口,如果是这样的话,你在鼠标移动到屏幕的最下面的时候,将播放控制的对话框窗口,通过SetWindowPos设置为置顶窗口,然后调用 SetActiveWindow(),将其激活。

15,980

社区成员

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

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