【问题标题】:How do I start MFC with empty project? [closed]如何使用空项目启动 MFC? [关闭]
【发布时间】:2014-09-24 03:42:45
【问题描述】:

我正在学习 MFC。

现在我想开发简单的GUI应用程序,但是有一个问题

首先,如何创建空的 MFC 项目? Visual Studio 2013 总是给我一个示例项目,但我不想要它。我不想理解示例代码并对其进行编辑。我只是想从hello world自己写一个简单的项目代码。

二、空mfc项目启动,WIN32应用模式启动有区别吗?

第三,我想开发一个自定义UI设计的程序,那我不能使用'Dialog-based Mode'吗?有人说我“在基于对话框的模式下,很难使用自定义设计”。真的吗?

【问题讨论】:

    标签: c++ c mfc


    【解决方案1】:

    要创建一个简单的应用程序,我建议使用 .NET/C#

    为什么不使用 MFC:它陈旧、笨重,并且为简单的应用程序加载了许多不必要的东西。

    为什么不用 Win32:你会写出相对于 .NET 代码更长、更底层的代码。

    一般来说,Win32 API 是一个低级的东西,MFC 是一个古老而庞大的包装器,.NET 是一个新的和最高级别的包装器。

    所以,编写一个 .NET/C# 应用程序。据我所知,有一种方法可以从 .NET 中吸引 Win32 API,以防万一非常具体的功能。 C# 不是强制性的,但代码比 C++ 更简单明了。

    至于“基于对话框的模式”,在您在 Visual Studio 2013 中创建一个空的 .NET/C# 项目后,您可以简单地拖放所需的控件,然后运行您的 GUI 应用程序。

    【讨论】:

    • -1 这个答案没有解决这个问题。它只是发表意见。这甚至不应该作为评论发布。
    【解决方案2】:

    一个完全空的 MFC 项目将毫无意义,因为您需要重新添加示例代码已有的内容。例如,每个 MFC 程序都有一个 CWinApp 派生类,通常还有某种主窗口类(无论是对话框还是框架窗口)。当您已经有了可以编辑的工作时,开始学习框架可能会更容易,而不是尝试弄清楚如何从头开始将基本部分组合在一起。但无论哪种方式,您都可能想要一本好书来帮助解释该框架。

    Win32 应用程序设置仅使用原始 Windows API 的基本示例代码(这是 MFC 在其之上构建和包装的)。 WinAPI 非常类似于 C。开箱即用,没有课程或类似的东西可以让生活更轻松。您必须学习如何自己制作它们......或者使用 MFC 之类的东西,因为它就是这样 - 包装 Windows API 的类以使其更容易。

    “自定义 UI 设计”是一个相当模糊的短语。你到底想定制什么?布局?颜色?动画?基本控制逻辑?基于对话的程序是最简单的类型之一,所以如果没有别的,它至少更容易开始学习。但就定制而言,这实际上取决于您的目标。

    实际上,当您想要自定义很多东西时,MFC 或 Windows API 本身并不是那么好。有时,您最终不得不接管并重新实现更多功能,而这些功能您只希望定制一小部分。此外,即使坚持库存控制和行为,也有很多不足之处,例如良好的尺寸/布局框架。 MFC 是很久以前创建的,在某些方面并没有得到增强,以跟上人们现在需要/想要/期望的 GUI 框架提供的功能。

    就个人而言,我建议研究其他更新且功能更丰富的 GUI 框架。在 C++ 世界中,Qt 是一个值得注意的。在 C# 中,WPF 有很多优点。就我自己而言,尽管我整天都在 MFC 中工作,但我通常在 C#/WPF 中完成我的个人项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-12
      • 2015-07-02
      • 1970-01-01
      • 2019-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多