Windows 学习MFC编程的先决条件 我知道一些C++和C,现在我正在做的项目是大量的MFC编程。有经验的人能告诉我学习MFC的先决条件吗
还有,最好的学习来源是什么 有什么特别的书或视频系列吗 我知道这个问题太笼统了,但答案可能会对我(或任何深入研究MFC的人)有很大帮助Windows 学习MFC编程的先决条件 我知道一些C++和C,现在我正在做的项目是大量的MFC编程。有经验的人能告诉我学习MFC的先决条件吗,windows,mfc,Windows,Mfc,还有,最好的学习来源是什么 有什么特别的书或视频系列吗 我知道这个问题太笼统了,但答案可能会对我(或任何深入研究MFC的人)有很大帮助 谢谢 MFC是用C++实现的。虽然它早于官方的C++标准,但在那里你不会发现太多的冒险。几乎没有模板代码,当然也没有什么新的C++11特性。与基本C++概念的亲密关系会给你带来很大的帮助。 如前所述,MFC在很大程度上是围绕Windows API的资源管理包装器。Windows API资源和MFC对象(如:,或:)之间通常存在直接映射。如果您了解构造函数、析
谢谢学习MFC最重要的前提是C++,其次是Windows如何工作。 我最喜欢的MFC书是在VisualC++中由David Kruglinski去世的,他死得太早了。他的上一版使用VisualStudio6介绍了MFC,但其概念和大部分内容仍然有效 要了解Windows的工作原理,“Petzold”就是这本书。(查尔斯·佩佐尔德的Windows编程)。+1问得好 :按顺序学习Win32 到目前为止,MFC最重要的先决条件是对(有时也称为Win32 API)有扎实的理解。您还需要熟悉C++的几个关键概念并熟悉这些工具。我提议的先决条件清单是:
MFC是用C++实现的。虽然它早于官方的C++标准,但在那里你不会发现太多的冒险。几乎没有模板代码,当然也没有什么新的C++11特性。与基本C++概念的亲密关系会给你带来很大的帮助。 如前所述,MFC在很大程度上是围绕Windows API的资源管理包装器。Windows API资源和MFC对象(如:,或:)之间通常存在直接映射。如果您了解构造函数、析构函数和对象生存期,那么您在该部门几乎已经准备好了
当使用MFC的基于模板的容器(如)时,您自然会接触到模板。这里没有太多涉及,只是非常基本的类型参数化,以重用容器代码并启用类型安全元素访问。可以在此处找到MFC容器的介绍: 在MFC中很少使用异常,主要是在访问文件或序列化数据时。您仍然应该知道如何编写异常安全代码;您将在非平凡的应用程序中看到异常。有关概述,请访问一个不是C++的真正部分,但在MFC中广泛使用的是预处理器。无论您的MFC应用程序多么微不足道,都会有宏。您必须很好地理解预处理器语法以及预处理器的操作方式
3。工具: 虽然可以单独使用记事本编写MFC应用程序,但这样做肯定不是很有效。纯文本编辑器可能是学习平台的一个好主意,但当需要满足里程碑和最后期限时,您肯定会希望使用功能强大的IDE MFC在很大程度上意味着使用VisualStudio,我假设您正在使用它。如果您使用的是VS6或VS2010(或更高版本),则可以访问。这是您将经常使用的工具。为了安全地操作它,您必须熟悉它为您生成的代码。使用它,检查生成的代码,并尝试构建它的心智模型。如果这还没有意义,你应该稍后再回来 MFC类向导几乎肯定会生成预处理器代码。它隐藏了大量的复杂性,您需要了解这些复杂性才能安全使用。使用IDE浏览预处理器宏,尝试在脑海中展开它们,看看是否理解生成的代码。如果您在取消混合宏调用时遇到困难,请让编译器使用编译器选项为您输出预处理的代码 有时您必须查看或调试MFC源代码。要使源代码可供源代码浏览和调试器使用,您必须设置VC++目录以包括以下内容(如果尚未存在): 根据IDE的不同,这可以通过工具->选项:项目和解决方案->VC++目录或项目设置的属性页来完成 查找帮助:虽然MSDN是最好的文档资源,但MFC部分感觉它处于维护模式,不像Windows API文档那样受到重视。如果发现缺少MFC文档,请查找相应的Windows API文档,例如vs。后者包含有关windows接收此消息的顺序的重要信息 学习MF$(VCInstallDir)atlmfc\src\mfc
$(VCInstallDir)atlmfc\src\mfcm
$(VCInstallDir)atlmfc\src\atl