我是基于对话框的程序,然后在主对话框里相应菜单点击事件,生成了两个非模态对话框。但是他们会产生冲突,会重叠,怎样才能让新点击的那个非模态对话框在上面,而且可以完全显示出来。//客服员工管理模块
void CPhoneRecord2Dlg::OnEmployee() 
{
// TODO: Add your command handler code here
CEmployee *pEmpdlg = new CEmployee;
pEmpdlg->Create(IDD_EMPLOYEE);
pEmpdlg->ShowWindow(SW_SHOW);
pEmpdlg->UpdateWindow();
pEmpdlg->SetWindowPos(&wndTop,207,12,648,444,SWP_SHOWWINDOW);
}//客户管理模块
void CPhoneRecord2Dlg::OnClient()
{
// TODO: 在此添加命令处理程序代码
CClient *pClientDlg = new CClient;
pClientDlg->Create(IDD_CLIENT);
pClientDlg->ShowWindow(SW_SHOW);
pClientDlg->UpdateWindow();
pClientDlg->SetWindowPos(&wndTop,207,12,648,444,SWP_SHOWWINDOW);
}大家是怎么处理这样的问题的????

解决方案 »

  1.   

    去掉pClientDlg->SetWindowPos(&wndTop,207,12,648,444,SWP_SHOWWINDOW);
      

  2.   

    pEmpdlg->SetWindowPos(&wndNoTopMost,207,12,648,444,SWP_SHOWWINDOW);
      

  3.   

    设置对话框属性 为 popup  试试看!
      

  4.   

    如果你先执行OnEmployee出现CEmployee对话框,在执行OnClient出现CClient对话框,是CClient对话框在CEmployee上面,这有什么问题吗?
      

  5.   

    我先打开CClient对话框,然后打开CEmployee对话框。后者确实在前者上方,但是如下图所示:http://hi.csdn.net/attachment/201105/12/8022033_1305209314No3U.jpg大家明白是什么问题了么?