c++ - 如何用空项目启动 MFC?

标签 c++ c mfc

<分区>

我正在学习 MFC。

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

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

其次,从一个空的mfc工程启动,和以WIN32应用模式启动,有区别吗?

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

最佳答案

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

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

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

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

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

关于c++ - 如何用空项目启动 MFC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25071717/

相关文章:

c++ - 在特定位置添加多维 vector 中的值

c - 另一个函数中的空闲内存

c++ - C 编程通过每次 8 位输入将 64 位值存储在寄存器中

c++ - MFC winMain 如何在可执行文件中结束?

visual-studio-2008 - 如何将 MFC ActiveX 控件添加到现有的 Activex 项目

c++ - CMake 生成的带有系统和标准的 c++ 项目包括

c++ - 强制 Qt MOC 扩展一些自定义宏?

C++ stoi 无法解析使用 eclipse 编译

c - 既然 'fread'是buffred的,有没有必要把数据fread到内存中再使用呢?

c++ - MFC:从另一个线程访问GUI?