怎样实现对话框应用程序的窗口总是显示在屏幕的最前面,就像有些播放器的
播放窗口可以设置成播放时总是显示在屏幕的最前面,而不会被其他程序的窗口所
遮住。谢谢!

解决方案 »

  1.   

    int oldstyle=GetWindwLong(hwnd,GWL_EXSTYLE);
    SetWindowLong(hwnd,GWL_EXSTYLE,oldstyle|WS_EX_TOPMOST);
    BringWindowToTop();
      

  2.   

    SetWindowPos( &wndTopMost, 0,0,0,0, SWP_NOSIZE |SWP_NOMOVE | SWP_SHOWWINDOW ); //加上这条语句即可。
      

  3.   

    http://www.vckbase.com/bbs/prime/viewprime.asp?id=92
      

  4.   

    :
       
        BOOL CMyDlg::OnInitDialog()
        {
             CDialog::OnInitDialog();         SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);//
             // TODO: Add extra initialization here
      
             return TRUE;  
        } 
      

  5.   

    BringWindowToTop(Handle)
     SetWindowPos函数,指定窗口的 最顶风格,用WS_EX_TOPMOST扩展窗口的风格
     Example:
     void ToggleTopMost(
    CWnd *pWnd)
     {
    ASSERT_VALID(pWnd)
    pWnd ->SetWindowPos(pWnd-> GetStyle( ) &WS_EX_TOPMOST)?
    &wndNoTopMOST: &wndTopMost,0,0,0,0,SSP_NOSIZE|WSP_NOMOVE)
     }
      

  6.   

    用一个布尔变量m_bTopMost以记录当前窗口所处的状态。
    void CWndCotrolView::OnWndcontrolTop()
    {
     if(!m_bTopMost)
    {
     AfxGetMainWnd()->SetWindowPos(&CWnd::wndTopMost,0,0,0,0,SWP_NOMOVE|SWPNOMOVE|SWP_NOSIZE);
     m_bTopMost=TRUE;
    }
    else 
    {
     AfxGetMainWnd()->SetWindowPos(&wndNoTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
    m_bTopMost=FALSE;
    }
    }一定能行,去试试吧。