怎么用MFC建立两个窗体?当程序启动时显示一个窗体和一个按钮,单击按钮后切换到另一窗体?

解决方案 »

  1.   

    用APP Wizard的时候注意选多文档就行了
      

  2.   

    用SDK编程好了,
    register注册一个类
    createwindow创建一个窗口.(所有的控件,只要你能看见的,都是窗口).
    然后用getmessage循环取WM_XXXX消息来处理
      

  3.   

    用MFC的话,可以先用appwizard,然后看生成的文件,看熟了,以后就可以不用appwizard了,可以自己写进去,(不过好象多此一举)
      

  4.   

    在APP类中定义两个CWnd类或其派生类,然后用在InitInstance()中用ShowWindow()控制显示或隐藏。
      

  5.   

    创建对话框即可,你先建一个对话框程序,这样一编译运行就会显示一个对话框(这是你要的第一个对话框,默认有二个按键,其中OK按钮按下后会返回IDOK),然后你切换到资源列表里,建立一个对话框资源,保存,然后为此对话框资源建立一个类,命名为CDLG2,好了,在你要打开这个对话框的时候使用以下代码:
    CDLG2 dlg2;
    dlg2.DoModal();
    就可以显示这个对话框了,要隐藏之前的对话框,可以有多个方法,方法之一是,上一个对话框的if(dlg.DoModal()==IDOK) 
    {
     //把你的代码放在这里,此时dlg(即你的第一个对话框)此时已返回,关闭了不用你处理。
     
    }方法二:
    取得你的第一个对话框的句柄,然后:
    ShowWindow(hWndDlg,SW_HIDE); //hWndDlg是你的第一个对话框的句柄,如果是主窗口,还可能直接使用:AfxGetMainWnd()或 AfxGetApp()->m_pMainWnd都可取得主窗口的句柄.
      

  6.   

    也就是说,如果你要隐藏第一个窗口(主窗口)可以这样处理:
    ShowWindow(AfxGetApp()->m_pMainWnd,SW_HIDE);
    要再显示出来可以这样:
    ShowWindow(AfxGetApp()->m_pMainWnd,SW_SHOW);如果要隐藏第二个对话框,即后面新建的那个,则同理:
    CDLG2 dlg2;
    dlg2.DoModal(); //运行这一行后这个dlg2窗口会自动关闭的。
    你也可以在这个窗口里使用this->ShowWindow(SW_HIDE);