创建不阻止主应用程序 mfc 的对话框

Posted

技术标签:

【中文标题】创建不阻止主应用程序 mfc 的对话框【英文标题】:create dialog that doesn't block the main app mfc 【发布时间】:2016-06-01 14:38:19 【问题描述】:

我正在使用 mfc,有什么方法可以在不使用线程的情况下创建一个不会阻塞主应用程序的对话框? 如果是,我该怎么做? 在此先感谢

【问题讨论】:

调用Create函数而不是DoModal 那我怎么知道对话结果int iReturn = m_RedesignSheet.DoModal()? @CodyGray @AmirYouhana google "mfc 无模式对话框" 非模态对话框不返回结果。他们根本不回来。就像普通的窗户一样。 【参考方案1】:

您需要创建一个modeless dialog。点击链接了解更多详情。

有一个很好的教程here。

展示示例:

CModeLess *m_pmodeless = new CModeLess(this);
m_pmodeless->Create(CModeLess::IDD);
m_pmodeless->ShowWindow(SW_SHOW);   

我不会重复本教程,但它会解释您如何使用 messages 将对话结果传达给父级。

【讨论】:

以上是关于创建不阻止主应用程序 mfc 的对话框的主要内容,如果未能解决你的问题,请参考以下文章

MFC 由主对话框创建的子对话框始终显示在主对话框前面,而且最小化主对话框,子对话框也会跟着最小化

如何阻止我的 MFC 应用程序在启动时调用 OnFileNew()?

我如何做很酷的对话 (MFC)

如何在 MFC 中的对话框上阻止鼠标输入

[转]MFC子线程更改图像数据后更新主窗口图像显示方法

如何在基于 MFC 对话框的应用程序中设置主对话框的大小