条件:在开发基于对话框的MFC程序时,单击主对话框A上的一个CBotton控件,弹出另外一个对话框B,此时B覆盖A,但A还存在。
问题1.:如何使对话框A消失,而仅留有对话框B?
问题2.:解决了问题1以后,关闭对话框B,如何又使对话框A重现出来?

解决方案 »

  1.   

    不知道是不是这个意思:
    ShowWindow(SW_SHOW)
    ShowWindow(SW_HIDE)
    ShowWindow(SW_RESTORE)
      

  2.   

    DlgA::OnClickButton()
    {
       DLGB DlgB(this);  //保存A的指针
       this->ShowWindow(SW_HIDE);
       DlgB.DoModal();
    }class DlgB
    {
    ..............
    private:
      CWnd * m_pParent;}DlgB::DlgB(CWnd * Parent)
    {
    m_pParent = Parent;
    }DlgB::OnClickButton()
    {
    this->ShowWindow(SW_HIDE);
    m_pParent->ShowWindow(SW_SHOW);
    }
      

  3.   

    ShowWindow(SW_SHOW)
    ShowWindow(SW_HIDE)
    ShowWindow(SW_RESTORE)应该可以实现!
      

  4.   

    这样就可以:CDlgA::OnYourButtonClick()
    {
        ShowWindow(SW_HIDE);
        CDlgB dlg;
        dlg.DoModal();
        ShowWindow(SW_SHOW);
    }