我在基于对话框的主界面B里调用了对话框A,调用的同时隐藏了B,关闭A之后又重新显示B,再关闭B,结果发现程序退出后竟然在屏幕上有A的界面显示,每次都只有点桌面刷新才能去掉,想问一下怎么把残留的界面直接去掉啊

解决方案 »

  1.   

    干吗这么复杂啦?
    class CDlgA() public from CDialog
    class CDlgB() public from CDialog
    定义两个事件
    CDlgA::OnLButtonUp(参数忘啦!!)
    {
    this->OnOK();
    CDlgB m_pDlg;
    m_pDlg.DoModal();
    delete(m_pDlg);
    }
    CDlgA::OnRButtonUp(参数又忘啦!!)
    {
    this->OnOK();
    }在CDlgB中定义类似的事件!调试通过!
      

  2.   

    void CServADDlg::OnSysad() 
    {
        ShowWindow(SW_HIDE);
        CSysAdmin SysAdmin;
        SysAdmin.DoModal();
    if(SysAdmin.m_strName!="")
    m_strName = SysAdmin.m_strName;
        ShowWindow(SW_SHOW);
        UpdateData(false);
    }
      

  3.   

    void CDlgB:OnButton()
    {
       ShowWindow(SW_HIDE);
       CDialogA dlgA;
       dlgA.DoModal();
       ShowWindow(SW_SHOW);
    }