如何在基于对话框程序中,使对话框隐藏起来?

解决方案 »

  1.   

    ShowWindow(SW_HIDE); // SW_SHOW
      

  2.   

    不是那种, ShowWindow(SW_HIDE)  我已经把它放入OnInit.....  还有 CDlg.... 中都不行。
    隐藏程度只要把其在任务栏显示就行了,不在进程中隐藏。
    只为是做一个 Tray 程序,做好了,但是程序每次启动都把主窗口显示出来。所以想hide掉!
      

  3.   

    1.设置 dlg 的 Visible = false
    2.jian建一个BOOL m_IsVisible
    void CSoftWifeDlg::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos) 
    {
    if(!m_IsVisible)
            lpwndpos->flags &= ~SWP_SHOWWINDOW; CDialog::OnWindowPosChanging(lpwndpos);
    }void CSoftWifeDlg::OnOption() 
    {
    m_IsVisible = true;
    ShowWindow(SW_SHOW);
    }void CSoftWifeDlg::OnCancel() 
    {
    m_IsVisible = false;
    ShowWindow(SW_HIDE);
    }
      

  4.   

    或责
    1.设置 dlg 的 Visible = false
    2。
    //DEL void CSoftWifeDlg::OnShowWindow(BOOL bShow, UINT nStatus) 
    //DEL {
    //DEL 
    //DEL  if( GetStyle() & WS_VISIBLE ) {
    //DEL  CDialog::OnShowWindow(bShow, nStatus);
    //DEL  } else {
    //DEL  long Style = ::GetWindowLong(*this, GWL_STYLE);
    //DEL  ::SetWindowLong(*this, GWL_STYLE, Style | WS_VISIBLE);
    //DEL  CDialog::OnShowWindow(SW_HIDE, nStatus);
    //DEL  }
    //DEL 
    //DEL 
    //DEL }