如果你正在学 Windows 游戏编程,并且已经能写出窗口、能画图、能处理简单的消息循环,那接下来大概率会撞上一堵墙:用 Win32 API 裸写界面,代码又长又碎,改一个按钮要动好几个地方。MFC 就是微软给这堵墙准备的梯子——它把窗口、控件、消息这些东西封装成类,写起来省事不少。但这门课值不值得花时间,取决于你现在站在哪。

先弄清楚:这门课解决什么场景

它不是教你做商业游戏引擎,也不是讲 DirectX 渲染管线。它的定位很具体:用 MFC 把游戏的界面层和交互层搭起来。比如一个棋盘类游戏,你要有菜单栏开始新局、有工具栏切换模式、有对话框设置难度、有状态栏显示得分——这些用 MFC 做,比纯 Win32 快得多。课里的案例基本围绕这类需求展开,把消息映射、菜单、工具栏、基本控件、文档视图串起来讲一遍,最后落到几个能跑起来的小游戏程序上。

换句话说,如果你的目标是「自己动手做一个带完整界面的 Windows 小游戏」,这门课对得上。如果你只想学底层渲染或者跨平台方案,它不对口。

学完能独立做什么

  • 从零建一个 MFC 工程,看懂向导生成的代码结构,而不是删掉重写。
  • 自己加消息处理函数,把菜单项、工具栏按钮、控件事件跟具体逻辑接上。
  • 用对话框和常用控件做设置界面、结算界面这类游戏周边 UI。
  • 理解文档/视图结构,知道什么时候该用它、什么时候用对话框更省事。
  • 把前面学过的绘图、定时器、输入处理,塞进 MFC 的框架里跑通一个完整小游戏。

这些能力偏「工程整合」,不是算法突破。但恰恰是很多人卡住的地方——会写逻辑,却不知道怎么组织成一个像样的 Windows 程序。

资料适合什么基础

前提是你已经写过 C++,并且接触过 Win32 窗口编程。MFC 里的 HWND、消息循环、GDI 绘图这些概念,课里不会从头补。如果你连「窗口过程函数」都没写过,直接上这门课会比较吃力,建议先把 Win32 基础过一遍。

另外,MFC 本身是个偏老的框架,现在新项目用得不多。但它的消息映射、文档视图这些设计思路,在理解 Windows 桌面程序结构上依然有用。把它当「读懂存量代码 + 快速做界面原型」的工具来学,心态会顺很多。

怎么用这套资料

别按目录从头看到尾就完事。建议的做法是:先跟着把消息映射和菜单、工具栏这两块动手敲一遍,这是 MFC 最核心的骨架;然后挑一个游戏案例,自己先想「这个界面该怎么拆」,再对照课里的实现,看差距在哪。文档视图部分如果暂时用不上,可以跳过,等真遇到多视图需求再回来补。

案例部分不要只看不写。MFC 的坑大多藏在资源编辑器、类向导、消息响应这些操作细节里,看视频觉得懂了,一动手就卡。老老实实建工程、加资源、绑事件,走完一遍才算数。

课程目录

课程目录32 集
  • 01 创建第一个MFC程序 01 MFC课程概览与介绍.mp4
  • 02 Windows窗口程序回顾及总结.mp4
  • 03 MFC控制台程序简介.mp4
  • 04 MFC对话框程序简介.mp4
  • 05 亲手从零创建一个MFC程序.mp4
  • 02 MFC的消息映射机制 01 消息映射的原理及操作步骤.mp4
  • 02 ON_MESSAGE宏添加消息映射.mp4
  • 03 消息映射机制的小结.mp4
  • 04 消息映射机制的实现原理.mp4
  • 03 MFC的菜单栏 01 添加主菜单的资源及界面设计.mp4
  • 02 添加主菜单的消息处理.mp4
  • 03 添加右键菜单及消息处理.mp4
  • 04 MFC的工具栏 01 添加工具条的资源及界面设计.mp4
  • 02 给工具条添加消息映射函数.mp4
  • 05 MFC的对话框 01 MFC模态对话框.mp4
  • 02 MFC非模态对话框.mp4
  • 03 MFC对话框程序结构分析.mp4
  • 06 MFC的基本控件 01 MFC按钮和文本框控件.mp4
  • 02 MFC单选按钮和复选框控件.mp4
  • 03 MFC列表框控件.mp4
  • 04 MFC列表视图控件.mp4
  • 07 MFC的单文档视图 01 创建MFC的单文档视图工程.mp4
  • 02 MFC的单文档视图的类关系分析.mp4
  • 03 单文档视图记事本界面设计.mp4
  • 04 记事本之文档和视图的关联.mp4
  • 08 MFC的多文档视图 01 MFC多文档视图及记事本代码.mp4
  • 02 MFC多文档视图的类关系.mp4
  • 09 MFC使用GDI和GDI+实现绘图 01 MFC实现GDI绘图.mp4
  • 02 MFC实现GDI+绘图.mp4
  • 10 MFC实现俄罗斯方块游戏 01 MFC俄罗斯方块数据结构代码逻辑讲解.mp4
  • 02 MFC俄罗斯方块绘制棋盘.mp4
  • 03 MFC俄罗斯方块让程序动起来.mp4