我想做一个登陆界面,目的是让当前对话框打开另一个对话框后关闭自己,但是我试了几次总是把所有的对话框都关闭了,请问一下我应当怎么写谢谢
void CAaDlg::OnOk() 
{
CDialog * a=new CDialog,* b=new CDialog;
b=this;
a->Create(IDD_ABOUTBOX,NULL);
a->ShowWindow(SW_SHOW);
b->DestroyWindow();
}

解决方案 »

  1.   

    a不能是b的成员。把它申明为全局的就可以了。
    而且你的写法,b = new CDialog; 然后又b=this;
    这里问题很多。
      

  2.   

    CDialog g_dlg;void CAaDlg::OnOk() 
    {
      if( (NULL != g_dlg.m_hWnd) && (::IsWindow(g_dlg.m_hWnd)) )
      {
         g_dlg.DestroyWindow();
      }
      g_dlg.Create(IDD_ABOUTBOX,NULL);
      g_dlg.ShowWindow(SW_SHOW);   CDialog::OnOK();
    }
      

  3.   

    将主对话框ShowWindow(SW_HIDE)就行了