【问题标题】:MFC C++ in a Modeless Dialog Show a Modal one无模式对话框中的 MFC C++ 显示模态对话框
【发布时间】:2013-07-26 17:55:40
【问题描述】:

我有一个无模式对话框。当我尝试从那里执行 .DoModal() 时,它会显示对话框,但它仍然允许您与无模式对话框进行交互。

这就是我创建无模式对话框的方式: MyMainEditorWindow = new CMyMain(this); MyMainEditorWindow->Create(CMyMain::IDD,GetDesktopWindow()); MyMainEditorWindow->ShowWindow(SW_SHOW);

要做一个模态的,从那个非模态窗口,我做

CMyDlg 我的Dlg; int 对话框 = myDlg.DoModal();

有什么方法可以做我想做的事吗?在无模式窗口中,来自它的对话框使其窗口等待直到它被决定。

【问题讨论】:

  • 编辑不会改变答案。 modal 对话框需要有 modeless 对话框作为它的父级。

标签: c++ mfc dialog modal-dialog modeless


【解决方案1】:

您需要在模态对话框的构造函数中设置父窗口。 CDialog 构造函数的文档说,如果将其设置为NULL,它将使用主应用程序窗口作为父窗口,如果未指定,则默认为NULL

【讨论】:

  • +1 我总是尝试设置父级(几乎总是this),而不是使用默认的NULL
猜你喜欢
  • 1970-01-01
  • 2011-07-01
  • 2013-08-26
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
  • 2010-11-20
  • 1970-01-01
  • 2012-02-09
相关资源
最近更新 更多