AfxMessageBox正在后台运行

AfxMessageBox going on background

本文关键字:运行 后台 AfxMessageBox      更新时间:2023-10-16

在连接检查中,我显示了一个模式对话框来确保连接。但为了让人们逃离模式对话框,我想要一个消息框来保持尝试连接或退出应用程序。

源代码:

void CRoboVibMainFrame::OpenSystemSettingsDialog(int activeTabIndex /*= 0*/)
{
while (activeTabIndex >= 0)
{
    m_settingsDialog = std::make_unique<SettingsDialog>(this,activeTabIndex);
    m_settingsDialog->DoModal();
    activeTabIndex = GetNotConnectedPSVControl();
    if (AfxMessageBox(Polytec::Text::ToMessageString(IDS_PSV_SYSTEM_EXIT_WINDOW_MSG), MB_YESNO) == IDNO)
    {
        ::ExitProcess(0);
        break;
    }
}
}

但是Messagebox总是显示在后台。我想把它放在前面。我的代码出了什么问题?请提出建议。

我能够通过以下修复将AfxMessageBox带到前台:

CWnd::PostMessage(WM_SYSKEYDOWN);

我不确定这是否是唯一的办法。但它解决了我的问题。这可以帮助别人。