11.MFC框架入门教程:安装使用与代码解析

1.前言

在前面第九章Windows编程入门我们讲到了一个最基本的Window窗口程序的书写。

经历过这个过程的我们可以很明显的发现,我们写了很多的代码也才只完成了一个最简单的窗口制作,这极大延长了程序员开发软件的周期。

最重要的是,这些窗口开发流程代码基本都是固定的!

而这就是框架的作用,将底层实现的细节进行封装,让我们可以专心实现应用逻辑。

本文要介绍的MFC这是这样一个框架,只需要你拖一拖、点一点,不用敲一行代码,就能生成一个窗口。

之所以要学MFC,主要是因为它是微软官方推出的产品,在VS中可以很容易使用,很方便我们开发一些小软件.

而且它封装了大量的win API,但封装的又不是很彻底,可以让我们了解win API编程的原理。

根据我过去数年的经验来说,MFC适合用来学习了解WIndows系统机制,以及用来开发一些外挂软件的界面比较方便。

如果你想要做出一款如同QQ、微信这类面向大众的软件,那么MFC框架一定不是你的首选,因为它真的很难做出很好看的界面,更加现代化的electron、tauri等前端框架或许是你所需要的。

本站同样拥有它们的相关教程,感兴趣的可以阅读:

2.安装MFC

在VS中安装MFC非常简单,直接进入vs,点击获取“工具和功能”:

image-20231207191912701

然后会来到安装页面,将MFC选上:

image-20231207192058681

然后等待安装完成即可。

3.初步使用MFC

还是老规矩,在解决方案中新建一个项目,不过这次我们就需要选择MFC程序了:

image-20231207192223889

输入项目名day11--MFC后,会出现下面这种界面:

image-20231207192329303

一般我们都是使用基于对话框的MFC。

当然也还有其它选项,比如基于单个文档多个文档多个顶层文档等等,这些基本都是用于开发那种大型软件的框架,比如word这种,一般我们个人开发用不着。

而且如果真要开发这种商业级的大型软件,如今一般也不会用MFC了,更可能会使用Qt等框架。

因为一但MFC本身出现问题,那基本是无解的,因为它并不开源。

所以如今看起来就感觉很鸡肋,至少我基本没用过这些,都是用基于对话框的MFC写一些小工具,同时里面自动生成的代码相对比较简单,可以更好的入门与理解。

还有下面那个在静态库中使用MFC,还有另一个选项是在DLL中使用MFC,分别就是上一章讲过的静态库动态库

如果使用动态库,那么你的软件想要发给别人使用,就还得找到dll文件,放到exe文件一起。

而静态库生成后,只需要拿着exe文件就可以直接用,不过体积会稍微大一点。

其它的选项就没什么必要了,默认即可,来到下一个界面,因为我们不使用文档模板,所以直接来到第三个界面:

image-20231207192543036

这个界面的东西就很好理解了,根据自己需要随意勾选即可。

  • 系统菜单:就是当你右键任意一个窗口的最上边,弹出的那个菜单。
  • 关于框:多生成一个显示软件信息的窗口。
  • 标题:窗口左上角显示的文字。
  • 最大最小化:窗口右上角的最大最小化按钮,上面三个框是显示样式的,一般默认即可,可以自己试一试有什么区别。

然后来到下一页:

image-20231207192710619

这些东西,基本就默认即可不用管,以后当你了解多了windows编程的相关知识,自然就懂了各个选项的意义,继续来到下一页:

image-20231207192810959

这里是将要自动生成的两个类,可以自行更改类名,文件名等等,不过一般都是默认即可。

这两个类一个是App类,代表了我们这整个程序,另一个Dlg类,是主窗口类,代表我们运行程序最开始看到的那个窗口。

然后点击完成,等等自动生成默认的MFC程序即可,生成完毕后,首先展示的就是我们的主窗口,先不管这么多,运行一下试一试,别忘了将该项目设置为启动项:

image-20231207193015024

我们到目前为止,一行代码都没有敲,就完成了一个窗口的显示,对比前面我们使用代码显示一个窗口,是不是相当的简单!

但同时也带来了麻烦,那就是这个项目自动生成了相当多的代码,我们必须得先看懂这些代码,才能自己在这个已有的窗口基础上改造。

作者:余识
全部文章:0
会员文章:0
总阅读量:0
c/c++pythonrustJavaScriptwindowslinux