MFC 应用程序:从表单按钮启动(模式)对话框

Posted

技术标签:

【中文标题】MFC 应用程序:从表单按钮启动(模式)对话框【英文标题】:MFC Application: launch a (modal) dialog from a form button 【发布时间】:2015-01-13 16:04:36 【问题描述】:

我对此完全陌生,我正在尝试使用 VS2013 和 C++,并大致遵循“Ivor Horton 的 Visual C++ 2010 入门”来了解 Windows 窗体应用程序和对话框的工作原理。我似乎在弄清楚应该非常简单的事情上失败了。

我已经创建了一个表单,MyForm,并在其中添加了一个按钮,IDD_DIALOG1

我还创建了一个对话框,MyFirstDialog

我希望能够在单击IDD_DIALOG1 时启动MyFirstDialog

这本书谈到了事件处理程序,但我似乎找不到任何方法,所以我一直试图在MyForm.hbutton1_Click 函数中添加代码:

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
             MyFirstDialog dlg;
             dlg.DoModal();

但是,这完全破坏了我的程序,断言失败:

我在网上查了一下,但我根本无法弄清楚......

【问题讨论】:

MFC 不是 WinForms,我从未尝试将两者结合起来,但我不认为它们可以很好地协同工作。 哦,也许这就是为什么我在网上找不到任何关于这个的原因...... 【参考方案1】:

好的,所以我相信@The Forest And The Trees 在他上面的评论中是正确的,并且 WinForms 不能很好地与 MFC 配合使用。

我现在正在切换到纯 MFC。

【讨论】:

以上是关于MFC 应用程序:从表单按钮启动(模式)对话框的主要内容,如果未能解决你的问题,请参考以下文章

在 SDI mfc 应用程序中从视图访问模式对话框

如何在 MFC 应用程序中隐藏模式对话框?

将视觉样式应用于从 C# .net 程序调用的 MFC 对话框

MFC 有输入键作为“应用”按钮

从 MFC DLL 显示对话框

所有应用程序顶部的 MFC 对话框窗体