c++ - MFC 应用程序 : How to add a set of controls to an single document application?

标签 c++ visual-c++ mfc

这是我的第一个 MFC 应用程序,我对 Visual Studio 还很陌生,所以我不能确切地理解我需要从什么开始。我已经阅读了许多论坛和 MSDN 文章,但几乎所有我看到的都是如何在基于对话框的应用程序中使用控件或如何在 SDI 应用程序中绘制或加载文档。但是我的任务似乎结合了两种类型的功能,所以我什至无法决定是否选择正确的 MFCApp 类型。

这是我的任务的简化版本。 我必须使用 MFC 在 VS 2015 中编写一个应用程序,它必须:

  • 对于文档应用程序有一个共同的主菜单;
    • 有固定大小的面板,其中包含 TextEdit 和 Button 控件以及一些能够显示图像的控件(在 事实 必须有更多不同的控件,但这对 问题);
    • 该区域的其余部分必须用于显示修改后的图像,作为单击 Pane 上的按钮的结果;
    • 显示在 Pane 控件中的图像是从"file"->“打开”对话框中选择的文件加载的;
    • ButtonClick 事件中显示的图像取自 Pane 上的图像控件,并与来自 textEdit 的文本混合
    • 可以通过"file"->“保存”对话框将更改后的图像保存到文件中。

这里是 the scheme of the task

问题:

  1. 我了解基于对话框的应用程序允许添加控件 很容易到表格,但在这种情况下我不明白如何处理 带有主菜单以及加载和保存文档。
  2. 我还找到了一个将 Pane 添加到 基于文档的应用程序的 MainFrm,但我找不到 将任何控件添加到添加的 Pane 的方法。

也许有人能告诉我应该选择哪种类型的MFC应用程序,以及如何处理我在选择这种或那种类型时遇到的问题。谢谢!

最佳答案

当您需要工具栏和菜单或功能区时,您应该使用 SDI 应用程序。

您有一个 View 区域,它是您的工作图像/表面。 所有按钮控件和命令都在工具栏和菜单或功能区中的表面之上。

作为替代方案,您可以选择带有表单 View 的 SDI。在这种情况下,您的应用程序类似于对话框应用程序,但同样具有菜单和工具栏或功能区。

View 可以接受更多控件并像对话框一样工作。

MDI 在某种程度上已经“过时”了。但仍然有可能……今天的大多数应用都是 SDI 应用……

关于c++ - MFC 应用程序 : How to add a set of controls to an single document application?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42406341/

相关文章:

c++ - 从 VS08/10 编译 C++,无需运行时库/MFC

c++ - 模板特化静态初始化 icc+vc vs gcc+clang

windows - MFC中如何改变对话框标题栏的字体样式

c++ - MFC中如何从CWinAppEx访问CView

c++ - 调试 - 单步执行 (F11) 不会直接进入函数

c++ - 单个成员结构的对齐和大小保证

c++ - VC 2010 上带 SSL 的 libpq

c++ - 如何在禁用的 MFC CEdit 控件中显示插入符号?

C++ shared_ptr - 附加到一个新的原始指针?

c++ - com 如何提供与语言无关的数据类型