我如何启动MFC与空项目

How do I start MFC with empty project?

本文关键字:MFC 项目 启动 何启动      更新时间:2023-10-16

我正在学习MFC。

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

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

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

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

一个完全空的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来完成我的个人项目。

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

为什么不使用MFC呢?对于简单的应用程序来说,它又老又笨重,而且加载了很多不必要的东西。

为什么不使用Win32:相对于。net代码,你将编写更长的、更低级的代码。

一般来说,Win32 API是一个底层的东西,MFC是一个旧的、笨重的包装器,. net是一个新的、最高级别的包装器。

所以,写一个。NET/C # 应用程序。据我所知,有一种方法可以从。net吸引Win32 API,只是在非常特殊的特性的情况下。c#不是强制性的,但代码比c++简单明了得多。

至于"基于对话框的模式",当你在Visual Studio 2013中创建了一个空的。net/c#项目后,你可以简单地拖放所需的控件,然后运行你的GUI应用程序。