VC/MFC点击按钮并排弹出两个子窗口

VC/MFC点击按钮并列弹出两个子窗口
void CCARTransferDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
::SetWindowPos(this->m_hWnd,HWND_TOPMOST,10,10,10,10,SWP_NOMOVE|SWP_NOSIZE);//窗口最前端显示
//::SetWindowPos(this->m_hWnd,HWND_NOTOPMOST,10,10,10,10,SWP_NOMOVE|SWP_NOSIZE);//取消最前端显示
CCAR1 dlg1;
dlg1.DoModal();
CCAR2 dlg2;
dlg2.DoModal();
CCAR3 dlg3;
dlg3.DoModal();
CCAR4 dlg4;
dlg4.DoModal();
CCAR5 dlg5;
dlg5.DoModal();
CCAR6 dlg6;
dlg6.DoModal();
}
点击按钮之后六个子窗口不是同时显示的  怎么能让其同时显示?????
------解决方案--------------------
你这得用非模态对话框吧,6个非模态对话框同时显示出来。


非模态对话框的实现
                   新建一个基于对话框的应用程序Test,在资源视图中右键点击Dialog,在弹出菜单中选择“Inert Dialog”,然后根据类向导新建一个对话框相关的类dlg1,
   在CTestDlg类前面添加dg1的声明语句,如下所示:
   class dlg1;
   class CTestDlg : public CDialog
   {
   ..........
   然后在CTestDlg中添加一个变量:dlg1 *pdlg;并且在CTestDlg的构造函数中初始化为NULL,而且要在TestDlg.CPP的前面加上头文件#include"dlg1.h"
 
   然后添加主对话框确定按钮的消息映射,代码如下
void CGeliangDlg::OnOK() 
{
     // TODO: Add extra validation here
     if((pdlg!=NULL)&&::IsWindow(pdlg->m_hWnd))  //判断对话框是否已被创建
    {
         AfxMessageBox("对话框已经被创建");
         pdlg->ShowWindow(SW_SHOW);        //已被创建,直接显示
    }
   else
  {
       pdlg=new dlg1();                             //没有被创建,则创建对象
  }
  if(!::IsWindow(pdlg->m_hWnd))
 {
    pdlg->Create(IDD_DIALOG1,this);              //创建对话框
    pdlg->ShowWindow(SW_SHOW);              //显示对话框
 }
// CDialog::OnOK();
}
在添加内存清理函数,
在类视图中右击dlg1,选中Add Virtual Function,弹出New Virtual Overrride for class dlg1对话框,选择PostNcDestroy,单击AddHandler按钮,单击Edit Exiting按钮,编写代码如下:
void dlg1::PostNcDestroy() 
{
   // TODO: Add your specialized code here and/or call the base class
    delete this;
   // CDialog::PostNcDestroy();
}
至此已经完成了非模态对话框的显示与销毁了。