本人想做一个多重界面的程序,其中有一个作主界面,其它作子界面,
我想问的是:如何在进入一个界面的同时使原来的界面消失掉,在新的界面完成相应操作后又返回原来的界面同时消失新界面,且多次反复操作的时候不会消耗太多的内存,请问该怎么样?
我原来的做法是:
    CDialog::OnCancel();
    新对话框类名 mydlg;
    mydlg.DoModal();
这样做的结果是连续多次来回操作后,速度变慢,最后消失不见了。
请知道的朋友说一声,谢谢!

解决方案 »

  1.   

    on_childcreate()
    {
      child.Create(...);
      parent.ShowWindow(SW_HIDE);
    }on_childdestroy()
    {
      child.Close();
      parent.ShowWindow(SW_SHOW);
    }
      

  2.   

    ShowWindow(SW_HIDE);
    ShowWindwo(SW_SHOW);
      

  3.   

    调用ShowWindow();或者用MoveWindow(),把要隐藏的窗口移动到一个用户不可见的位置,比如(-500,-500,-100,-100);
      

  4.   

    你应该在主窗口中保存有子窗口的句柄,在退出时,在OnOK或OnDestory之类的函数中逐个关闭这可以了!
      

  5.   

    程序退出时,所有窗口会自动关闭的。PostQuitMessage(0);