现在我要实现一个播放窗口,在全屏和最小化之间切换的功能;
问题,在全屏的时候,我想实现暴风影音那种,有个浮动的工具条,鼠标移动到下方区域就显示出来,请问怎么实现这个功能。我用调用了一个ActiveX播放器veryMatrix他们的方法FullScreen实现全屏,但是我的工具条怎么都无法显示上去了。
不知道他们那个方法是怎么实现的,难道调用了SetWindoPos设置为topmost后,其他窗口就不能显示上去了吗?那暴风那种是怎么实现的,请各位帮忙提供一些思路。

解决方案 »

  1.   

    捕获鼠标移动WM_MOUSEMOVE,然后控制你工具条的现实和隐藏...
      

  2.   

    CToolBar::SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);
      

  3.   

    CToolBar::SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE);
      

  4.   

    一般的窗口通过下面的方法都是可以实现的,我自己写了个测试程序,代码如下,可以实现当前窗口topmost,然后再当前窗口上,再显示toolbar。 int  cx = GetSystemMetrics(SM_CXSCREEN);
    int cy = GetSystemMetrics(SM_CYSCREEN); ::SetWindowPos(m_hWnd,HWND_TOPMOST,0,0,cx,cy,SWP_SHOWWINDOW);
    ::SetWindowPos(m_pDlgToolbar->GetSafeHwnd(),HWND_TOPMOST,0,0,0,0,SWP_NOSIZE|SWP_SHOWWINDOW);但是我的ActiveX播放器程序中,我调用的是播放器SDK提供的方法,fullscreen();然后,我再调用
    ::SetWindowPos(m_pDlgToolbar->GetSafeHwnd(),HWND_TOPMOST,0,0,0,0,SWP_NOSIZE|SWP_SHOWWINDOW);这样,我的m_pDlgToolbar窗口就无法最前端显示了,谁做过播放器窗口的,请帮忙提供一下解决思路。
      

  5.   

    呃,你那个播放器窗口的全屏,恐怕已经不是GDI的全屏,而是DirectX的全屏了吧?
      

  6.   

    不知道是不是directx的全屏,我 猜应该是,因为普通窗口全屏应该是可以有浮动窗口的。如果是Directshow的全屏,我们在使用这个AcitveX播放器控件的时候,还有其他方式实现浮动工具条么?