1.前言
在前面第九章Windows编程入门我们讲到了一个最基本的Window
窗口程序的书写。
经历过这个过程的我们可以很明显的发现,我们写了很多的代码也才只完成了一个最简单的窗口制作,这极大延长了程序员开发软件的周期。
最重要的是,这些窗口开发流程代码基本都是固定的!
而这就是框架的作用,将底层实现的细节进行封装,让我们可以专心实现应用逻辑。
本文要介绍的MFC这是这样一个框架,只需要你拖一拖、点一点,不用敲一行代码,就能生成一个窗口。
之所以要学MFC,主要是因为它是微软官方推出的产品,在VS中可以很容易使用,很方便我们开发一些小软件.
而且它封装了大量的win API
,但封装的又不是很彻底,可以让我们了解win API
编程的原理。
根据我过去数年的经验来说,MFC适合用来学习了解WIndows系统机制,以及用来开发一些外挂软件的界面比较方便。
如果你想要做出一款如同QQ、微信这类面向大众的软件,那么MFC框架一定不是你的首选,因为它真的很难做出很好看的界面,更加现代化的electron、tauri等前端框架或许是你所需要的。
本站同样拥有它们的相关教程,感兴趣的可以阅读:
2.安装MFC
在VS中安装MFC非常简单,直接进入vs,点击获取“工具和功能”:
然后会来到安装页面,将MFC选上:
然后等待安装完成即可。
3.初步使用MFC
还是老规矩,在解决方案中新建一个项目,不过这次我们就需要选择MFC程序了:
输入项目名day11--MFC
后,会出现下面这种界面:
一般我们都是使用基于对话框的MFC。
当然也还有其它选项,比如基于单个文档,多个文档,多个顶层文档等等,这些基本都是用于开发那种大型软件的框架,比如word
这种,一般我们个人开发用不着。
而且如果真要开发这种商业级的大型软件,如今一般也不会用MFC了,更可能会使用Qt等框架。
因为一但MFC本身出现问题,那基本是无解的,因为它并不开源。
所以如今看起来就感觉很鸡肋,至少我基本没用过这些,都是用基于对话框的MFC写一些小工具,同时里面自动生成的代码相对比较简单,可以更好的入门与理解。
还有下面那个在静态库中使用MFC,还有另一个选项是在DLL中使用MFC,分别就是上一章讲过的静态库与动态库。
如果使用动态库,那么你的软件想要发给别人使用,就还得找到dll
文件,放到exe
文件一起。
而静态库生成后,只需要拿着exe
文件就可以直接用,不过体积会稍微大一点。
其它的选项就没什么必要了,默认即可,来到下一个界面,因为我们不使用文档模板,所以直接来到第三个界面:
这个界面的东西就很好理解了,根据自己需要随意勾选即可。
- 系统菜单:就是当你右键任意一个窗口的最上边,弹出的那个菜单。
- 关于框:多生成一个显示软件信息的窗口。
- 标题:窗口左上角显示的文字。
- 最大最小化:窗口右上角的最大最小化按钮,上面三个框是显示样式的,一般默认即可,可以自己试一试有什么区别。
然后来到下一页:
这些东西,基本就默认即可不用管,以后当你了解多了windows编程的相关知识,自然就懂了各个选项的意义,继续来到下一页:
这里是将要自动生成的两个类,可以自行更改类名,文件名等等,不过一般都是默认即可。
这两个类一个是App
类,代表了我们这整个程序,另一个Dlg
类,是主窗口类,代表我们运行程序最开始看到的那个窗口。
然后点击完成,等等自动生成默认的MFC程序即可,生成完毕后,首先展示的就是我们的主窗口,先不管这么多,运行一下试一试,别忘了将该项目设置为启动项:
我们到目前为止,一行代码都没有敲,就完成了一个窗口的显示,对比前面我们使用代码显示一个窗口,是不是相当的简单!
但同时也带来了麻烦,那就是这个项目自动生成了相当多的代码,我们必须得先看懂这些代码,才能自己在这个已有的窗口基础上改造。