建立了一非模态对话框 但是他总是在主对话框上面  如何解决我点击哪个对话框哪个就在上面的问题
希望能针对这段代码详细说明
void CMainDlg::OnButTest() 
{
    CTestDlg *m_dlg=NULL;
    m_dlg = new CTestDlg(this);
    m_dlg->Create(IDD_DIALOG_TEST,this);
    m_dlg->ShowWindow(SW_SHOW);
}
 备注:我用SetWindowPos和SetForegroundWindow试了各种情况都没有实现,所以才发帖

解决方案 »

  1.   

    m_dlg->Create(IDD_DIALOG_TEST,this);
    -->
    m_dlg->Create(IDD_DIALOG_TEST,GetDesktopWindow());
      

  2.   

    风格是Popup的吗? 改成popup应该就ok了。
      

  3.   

    m_dlg->Create(IDD_DIALOG_TEST,this);
    这里的this参数表示你的m_dlg是当前窗口的子窗口,如果不改变父子关系的情况下,子窗口总是显示在父窗口之上的,SetWindowPos和SetForegroundWindow函数并不能改变这个,所以调用无效的。因此你必须要改变这个特性才可以达到你想要的目的。
      

  4.   

    你也可以直接用CWnd来做。更容易控制。
      

  5.   

    如果create到desktopwindow  请问没有父子关系的对话框怎么传递数据  如何获取上层对话框的指针