如何使用空项目启动MFC?

时间:2014-08-01 01:56:06

标签: c++ c mfc

我正在学习MFC。

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

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

第二,从一个空的mfc项目开始,以WIN32应用程序模式开始是否有区别?

第三,我想开发一个带有自定义UI设计的程序,然后我不能使用基于对话框的模式&#39 ;?有人说我"在对话框模式下,很难使用Custom Design"。真的吗?

2 个答案:

答案 0 :(得分:3)

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

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

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

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

就个人而言,我建议调查其他更新,功能更丰富的GUI框架。在C ++世界中,Qt是值得注意的。在C#中,WPF对它有很多好处。对我自己来说,即使我整天都在MFC工作,我也经常在C#/ WPF做我的个人项目。

答案 1 :(得分:0)

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

为什么不使用MFC :它老了,体积庞大,为简单的应用程序加载了很多不必要的东西。

为什么不使用Win32 :您将编写一个与.NET代码相关的更长,更低级的代码。

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

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

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