MFC不仅仅是一个类库,而且是一个所谓的“设计框架”,注入了很多开发理念和设计思想。类库与框架的区别可以理解为“食材”与“火锅”套餐的区别——火锅套餐已经标明了开发者必须接受已定的一些规则,包括“Message Mapping消息映射机制”、“Persistence永久保存机制”、“文档视图框架三口组”、“ RTTI(运行时类型识别)”等等。了解MFC的六大机制(关键技术)是有必要的,但是初学者的重中之重是着力于使用MFC框架去解决实际问题,建议了解必须掌握的“三口组”(数据保存“和“消息映射”(消息驱动)即可。
创建MFC应用程序
第一步,创建项目
第二步,选择应用程序类型、界面等等
其中:
1、对话框应该是最简单的MFC应用程序类型(没有涉及文档保存问题),多文档应用程序类型在应用中其实比较少见,所以选择单文档应用程序学习MFC是比较好的选择;
2、项目类型是程序风格(界面),MFC标准则是传统的窗口风格,后面三种都添加了很多丰富的窗口风格类型,当然也注入了很多与风格相关的类;
3、使用Unicode会导致对字符串的处理与前面SDK(多字节)开发有很多区别,包括WinApi的使用,建议取消(创建后可以修改);
4、静态使用MFC可以将MFC打包到编译好的应用程序(运行时不需要额外提供MFC DLL)
第三步,可以修改”三口组“以及应用程序数据的扩展名(略)
创建好的MFC单文档应用程序如下:
除stdafx预编译头文件、 resource 资源文件,targetver版本文件外,可以看到应用程序包括:
1、CMainFrame 主框架类,继承于CFrameWnd:管理View、菜单、工具条、状态条以及各个类之间的耦合;
2、CMFC03App 应用程序类,继承于CWinAppEx:应用程序初始化、文档模板;
3、CMFC03Doc 文档类,继承于CDocument:管理数据(读写),串行化机制;
4、CMFC03View 视图类,继承于CView : 显示数据,用户工作区;
运行效果:
打开资源视图,可视化设计:
1、菜单命令:视图-》其他窗口-》资源视图;
2、双击工程中资源文件的rc文件;
3、快捷键 shitt + ctrl + E
如在资源视图中修改菜单: