新建一个对话框工程。插入3个对话框,Border无,Style用Child,先创建对话框1,位置在区域1;再创建对话框2,位置在区域1;再创建对话框3,位置在区域1;
         // 1
CDialog1 *pDlg1 = new CDialog1;
pDlg1->Create(CDialog1::IDD, this);
pDlg1->MoveWindow(&rc);         // 2
CDialog2 *pDlg2 = new CDialog2;
pDlg2->Create(CDialog2::IDD, this); // 这里也可以用pDlg1作为父窗口
pDlg2->MoveWindow(&rc);
pDlg2->ShowWindow(SW_SHOW);
         
         // 3
CDialog3 *pDlg3 = new CDialog3;
pDlg3->Create(CDialog3::IDD, this);// 这里也可以用pDlg1作为父窗口
pDlg3->MoveWindow(&rc);
pDlg3->ShowWindow(SW_SHOW);
         //pDlg3->BringWindowToTop();// 加上这一句,对话框3就不能正常显示了,但是对应的位置上可以点击按钮,这是什么原因?
对话框3上有按钮,能够正想显示,为什么点不了?

解决方案 »

  1.   

    响应函数肯定添加了啊,就弹出一个messagebox
      

  2.   

    是啊,就是创建的非模态对话框。可是遇到1楼所描述的问题。创建的窗口怎么才能在最上面呢?BringWindowToTop,SetForegroundWindow,ActivateTopParent都试过了,没有用。
      

  3.   

    Enable是可以,但是感觉不太符合要求吧。窗口2上有按钮,窗口3打开就把窗口2Enable了,如果窗口3并没有完全挡住窗口2,并且能够看到窗口2的按钮,那点按钮岂不是没有反应了?