从任务栏点击应用程序主窗口没有显示(将非模态对话框转换为模态)



我的MFC应用程序是MDI应用程序。并且我有一个MFC扩展dll, MFC扩展dll将在MFC MDI应用程序的顶部启动子对话框。如下所示

CMyDialog  pDisplayGlobal = new CMyDialog(IDD_DISPLAY, NULL);    
pDisplayGlobal->Create(IDD_DISPLAY, AfxGetApp()->m_pMainWnd);
pDisplayGlobal->ShowWindow(SW_NORMAL);

注意:如果我在上面的代码做错了什么,请让我知道。

问题:我已经启动了我的MFC mdi应用程序和子模态对话框。非模态对话框总是只在父窗口的顶部(按照上面的代码)

Step1) I have opened other four different applications (Which means my MFC application is behind  these four applications)
Step2) I clicked on my MFC application from the Taskbar it’s not showing the main application window. which means it didnt come in front its still in step1 stage only
Step3) To see My MFC application I have to minimize all the four applications

这就是问题所在,请有人给我一些代码片段作为解决方案。

要从另一个程序运行对话框,您可以执行以下操作

在DLL:

CDialog *g_dlg;
void dll_foo()
{
    g_dlg = new CDialog;
    g_dlg->Create(IDD_DIALOG1);
    g_dlg->ShowWindow(SW_SHOWNORMAL);
}

主应用:

BOOL CMyWinApp::InitInstance()
{
    //...
    frame->ShowWindow(SW_SHOWNORMAL);
    frame->UpdateWindow();
    dll_foo();
    return TRUE;
}

相关内容

  • 没有找到相关文章

最新更新