飞豹客 · 课能看,资料也能带走
飞豹客软考考证 会员免费

网校VC++ MFC 经典教程-基础篇

如果你打算学 Windows 桌面程序开发,MFC 大概率是绕不开的一站。它老,但大量企业内部的工具软件、工业控制界面、金融交易终端仍在用它维护和迭代。这门《VC++ MFC 经典教程-基础篇》针对的是同一个问题:让有 C++ 语法基础的人,能真正把窗口、控件、消息这些概念落到代码上,而不是停留在"

单课价¥29.90新品 上架
会员价 会员免费开通会员后本篇可直接下载套餐详情
9 人关注 更新于 2026-09-18 永久有效
发货

网盘链接 · 支付成功后自动发货

保障

永久有效 · 链接失效免费补发

客服

每日 9:00-21:00 在线客服 联系客服

会员可免费下载本篇月会员可免费领取。

开通会员 ›
购买本课销量 0 · 永久有效
会员价 · 单课标价 ¥29.90

会员 · 按档位

永久免费可领
年免费可领
月免费可领

游客按标价购买,不享受上表折扣。

支付成功后自动发放网盘链接,链接失效可找客服免费补

正版保障 极速发货 售后无忧

如果你打算学 Windows 桌面程序开发,MFC 大概率是绕不开的一站。它老,但大量企业内部的工具软件、工业控制界面、金融交易终端仍在用它维护和迭代。这门《VC++ MFC 经典教程-基础篇》针对的是同一个问题:让有 C++ 语法基础的人,能真正把窗口、控件、消息这些概念落到代码上,而不是停留在"看得懂、写不出"。

这门课对应的工作场景

课程覆盖教材前十三章的内容,主线是 MFC 应用程序的基本结构。学完之后,你面对的需求大概是这样几类:给内部系统做一个带菜单、对话框、列表控件的配置工具;把一段已有的 C++ 逻辑包上图形界面;读懂公司里那套跑了十年的 MFC 老项目并做局部修改。这些活儿在招聘市场上不显眼,但需求稳定,尤其是传统行业的信息化部门和做上位机、仪器配套软件的团队。

需要说清楚的是,这门课不教 C++ 语言本身。变量、函数、类、指针这些如果还不熟,先补语言基础再进来,否则前面的章节会变成抄代码。

学完能独立做什么

  • 用向导搭出一个可运行的 MFC 工程,理解文档、视图、框架窗口各自负责什么
  • 手工添加菜单、工具栏、对话框资源,并把控件和成员变量关联起来
  • 处理鼠标、键盘、按钮点击等消息,写自己的消息响应函数
  • 用对话框做输入和参数设置,完成一次完整的数据录入与显示流程
  • 看懂常见的 MFC 报错和断言,知道去哪里查、往哪个方向改

换句话说,基础篇解决的是"能独立写出一个几百行的小工具",而不是"能架构一套大型软件"。这个预期要放正,它本来就是第一阶段。

资料适合什么基础

最合适的是两类人:一是学过 C++、但没碰过 Windows 编程的学生或转行者;二是做后端或嵌入式,被安排接手 MFC 项目、需要快速上手的在职开发者。如果你已经能熟练写 MFC 程序,这门课对你偏浅,可以直接找进阶内容。

配套的章节笔记是这门资料里比较实用的部分。MFC 的坑很多集中在消息映射宏和资源 ID 的对应关系上,看视频时觉得懂了,自己敲就报错。笔记的作用是课后把这些对应关系重新过一遍,也方便面试前快速回忆。建议每完成两到三节就整理一次,不要攒到最后。

怎么用这份资料

按顺序学,不要跳。MFC 的知识点前后咬合很紧,前面没弄清窗口类和句柄的关系,后面写消息处理就是照抄。看视频时别只跟着敲,每学完一个知识点,试着把代码关掉自己重写一遍,报错的地方才是真正学到的地方。

学完全部章节后,找一个小需求独立做出来——比如一个带增删改查的通讯录,或者一个读取本地文件并展示的查看器。这个练习比再看一遍视频有用,也是你后面能拿出手的东西。

最后提醒一句:MFC 不是当前最热的桌面技术,它的价值在于存量项目的维护和改造。如果你的目标是进互联网公司做新项目,这门课的性价比不高;如果方向是传统软件、工控、仪器或政企内部系统,它是实打实能派上用场的。


本课程是《VC++ MFC》第一部分,对应着教材的第1章到第13章。

课程推荐

《网校VC++ MFC 经典教程-基础篇》本课程是《VC++ MFC》第一部分,对应着教材的第1章到第13章。【技能收获】学完可掌握:C/C++ 网络编程。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向中高级运维或架构岗进阶。 若你已有一定编程或运维基础,本课程可帮助你在现有技能栈上快速叠加热门方向能力,提升求职时的项目说服力与薪资谈判空间。

视频目录(231 节)

课程目录

*   1.1 Windows编程模型

*   1.1.1 消息消息还是消息

*   1.1.2 Windows程序设计SDK风格

*   1.1.3 匈牙利标记法和Windows数据类型

*   1.1.4 SDK程序设计展望

*   1.2 MFC简介

*   1.2.1 使用C++和MFC的好处

*   1.2.2 MFC的设计思想

*   1.2.3 文档/视图体系结构

*   1.2.4 MFC类的分层结构

*   1.2.5 AFX函数

*   1.3 您的第一个MFC应用程序

*   1.3.1 应用程序对象

*   1.3.2 MFC如何使用应用程序对象

*   1.3.3 框架窗口对象

*   1.3.4 绘制窗口

*   1.3.5 消息映射

*   1.3.6 消息映射的工作方式

*   1.3.7 Windows、字符集和_T宏

*   1.3.8 建立应用程序

*   2.1 Windows GDI

*   2.1.1 MFC设备描述表类

*   2.1.2 设备描述表属性

*   2.1.3 绘图模式

*   2.1.4 映射模式

*   2.1.5 可编程映射模式

*   2.1.6 坐标转换

*   2.1.7 移动原点

*   2.1.8 坐标系小结

*   2.1.9 获取设备信息

*   2.2 用GDI绘图

*   2.2.1 画直线和曲线

*   2.2.2 圆椭圆、多边形以及其他形状

*   2.2.3 GDI画笔和CPen类

*   2.2.4 GDI画刷和CBrush类

*   2.2.5 画文本

*   2.2.6 GDI字体和CFont类

*   2.2.7 光栅字体与TrueType字体

*   2.2.8 旋转文本

*   2.2.9 备用对象

*   2.2.10 删除GDI对象

*   2.2.11 取消对GDI对象的选定

*   2.2.12 标尺应用程序

*   2.3 看看画了些什么

*   2.3.1 给窗口添加滚动条

*   2.3.2 设定滚动条的范围、位置和页面大小

*   2.3.3 使滚动条滑块大小和窗口尺寸同步变化

*   2.3.4 处理滚动条消息

*   2.3.5 滚动窗口

*   2.3.6 Accel应用程序

*   2.4 遗留问题

*   3.1 从鼠标获取输入

*   3.1.1 客户区鼠标消息

*   3.1.2 TicTac应用程序

*   3.1.3 非客户区鼠标消息

*   3.1.4 WM_NCHITTEST消息

*   3.1.5 WM_MOUSELEAVE和WM_MOUSEHOVER消息

*   3.1.6 鼠标滚轮

*   3.1.7 捕获鼠标

*   3.1.8 鼠标捕获的应用

*   3.19 光标

*   3.1.10 沙漏形光标

*   3.1.11 鼠标杂录

*   3.2 从键盘获取输入

*   3.2.1 输入焦点

*   3.2.2 击键消息

*   3.2.3 虚拟键代码

*   3.2.4 Shift状态及切换

*   3.2.5 字符消息

*   3.2.6 死键消息

*   3.2.7 插入符

*   3.3 VISUALKB应用程序

*   3.3.1 处理插入符

*   3.3.2 输入及编辑文本

*   3.3.3 其他有趣内容

*   4.1 菜单基础

*   4.1.1 创建菜单

*   4.1.2 加载并显示菜单

*   4.1.3 响应菜单命令

*   4.1.4 命令范围

*   4.1.5 更新菜单中的菜单项

*   4.1.6 更新范围

*   4.1.7 键盘加速键

*   4.2 SHAPES应用程序

*   4.2.1 运行MFC AppWizard

*   4.2.2 分析AppWizard的输出

*   4.2.3 AppWizard之外的工作

*   4.2.4 过程小结

*   4.3 菜单魔术

*   4.3.1 通过手工编程创建菜单

*   4.3.2 通过手工编程修改菜单

*   4.3.3 系统菜单

*   4.3.4 自制菜单

*   4.3.5 层叠菜单

*   4.3.6 上下文菜单

*   4.4 COLORS应用程序

*   4.4.1 上下文菜单

*   4.4.2 试一试

*   5.1 数组

*   5.1.1 MFC数组类

*   5.1.2 动态调整数组大小

*   5.1.3 用CArray创建类型安全数组类

*   5.2 列表

*   5.2.1 MFC列表类

*   5.2.2 用Clist创建类型安全列表类

*   5.3 映射表

*   5.3.1 MFC映射表类

*   5.3.2 映射表工作方式

*   5.3.3 提高查找效率

*   5.3.4 用CMap创建类型安全映射表类

*   5.4 类型指针类

*   6.1 CFile类

*   6.1.1 打开、关闭和创建文件

*   6.1.2 读和写

*   6.1.3 CFile派生类

*   6.1.4 枚举文件和文件夹

*   6.2 串行化和CArchive类

*   6.2.1 串行化基础

*   6.2.2 编写可串行化类

*   6.2.3 给可串行化类分配版本号:可配置版本模式

*   6.2.4 串行化工作过程

*   6.2.5 串行化CObject

*   7.1 传统控件

*   7.1.1 CButton类

*   7.1.2 CListBoX类

*   7.1.3 CStatic类

*   7.1.4 FontView应用程序

*   7.1.5 CEdit类

*   7.1.6 赶快!即时记事本

*   7.1.7 CComboBox类

*   7.1.8 CScrollBar类

*   7.2 高级控件程序设计

*   7.2.1 数字编辑校件

*   7.2.2 自制列表框

*   7.2.3 图形按钮

*   7.2.4 自定义控件的颜色

*   7.2.5 消息反射

*   8.1 模式对话框和CDialog类

*   8.1.1 对话框模板

*   8.1.2 CDialog类

*   8.1.3 创建模式对话框

*   8.1.4 对话框数据交换和对话框数据校验

*   8.1.5 与对话框中的控件相互作用

*   8.1.6 DlgDemol应用程序

*   8.2 无模式对话框

*   8.3 用对话框作为主窗口

*   8.4 属性表

*   8.5 公用对话框

*   8.5.1 修改公用对话框

*   8.5.2 Phones应用程序

*   9.1 文档/视图基础知识

*   9.1.1 再看InitInstance函数

*   9.1.2 文档对象

*   9.1.3 视图对象

*   9.1.4 框架窗口对象

*   9.1.5 动态对象创建

*   9.1.6 有关SDI文档模板的其他内容

*   9.1.7 用操作系统命令解释器注册文档类型

*   9.1.8 命令传送

*   9.1.9 预定义的命令ID和命令处理程序

*   9.2 第一个文档/视图应用程序

*   9.2.1 SdiSquares应用程序

*   9.2.2 循序渐进地创建SdiSquares

*   9.3 文档+视图=较少的工作量

*   10.1 滚动视图

*   10.1.1 CScrollView基础

*   10.1.2 CScrollView操作

*   10.1.3 优化滚动操作

*   10.1.4 ScrollDemo应用程序

*   10.1.5 普通视图转换为滚动视图

*   10.2 HTML视图

*   10.2.1 CHtmlView操作

*   10.2.2 CHtmlView可覆盖函数

*   10.2.3 在基于CHtmlView的应用程序中使用DHTML

*   10.2.4 树形视图

*   10.2.5 初始化树形视图

*   10.2.6 树形视图的成员函数和通知

*   10.2.7 DriveTree应用程序

*   10.3 列表视图

*   10.3.1 初始化列表视图

*   10.3.2 修改表现样式

*   10.3.3 在列表视图中排序

*   10.3.4 列表视图中的命中测试

*   10.3.5 WinDir应用程序

*   10.4 自制控件视图

*   11.1 MFC和多文档界面

*   11.1.1 同步文档的多个视图

*   11.1.2 MdiSquares应用程序

*   11.1.3 支持多个文档类型

*   11.1.4 MDI之外的其他选择

*   11.2 拆分窗口

*   11.2.1 动态拆分窗口

*   11.2.2 Sketch应用程序

*   11.2.3 静态拆分窗口

*   11.2.4 Wanderer应用程序

*   11.2.5 自定义命令传送

*   11.2.6 嵌套拆分窗口

*   11.2.7 带有多种视图类型的动态拆分窗口

*   12.1 工具栏

*   12.1.1 创建和初始化工具栏

*   12.1.2 固定式和浮动式工具栏

*   12.1.3 控制工具栏的可见性

*   12.1.4 保持工具栏按钮和应用程序同步

*   12.1.5 添加工具提示和状态柱工具说明

*   12.1.6 在工具栏中添加非按钮控件

*   12.1.7 更新非按钮控件

*   12.1.8 使工具栏设置永久化

*   12.1.9 AppWizard提供的工具栏支持

*   12.2 状态栏

*   12.2.1 创建和初始化状态栏

*   12.2.2 为菜单项提供上下文相关帮助

*   12.2.3 创建自定义状态栏窗格

*   12.2.4 AppWizard提供的状态栏支持

*   12.3 总结:MYWORD应用程序

*   12.3.1 主工具栏

*   12.3.2 样式栏

*   12.3.3 再谈CRichEditView

*   12.4 组合栏

*   13.1 通过文档和视图打印

*   13.1.1 Windows打印体系结构

*   13.1.2 MFC打印体系结构

*   13.1.3 打印预览

*   13.2 只有打印功能的应用程序

*   13.2.1 黑白打印预览

*   13.3 复杂的打印应用程序

*   13.3.1 串行化的唯一方法

*   13.4 打印技巧与诀窍

*   13.4.1 使用打印对话框中的选定范围单选按钮

*   13.4.2 不要假定——实践出真知!

*   13.4.3 添加默认分页支持

*   13.4.4 枚举打印机