IT网课学习吧

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

软考考证
课程简介

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

已有 1 人浏览 发布 2026-09-16 更新 2026-09-17

这套《网校VC++ MFC 经典教程-基础篇》在资料堆里属于那种"标题不响亮、但拆开看很实在"的货。要提醒一句:摘要里提到的 Linux 运维、SRE、云原生岗位和这门课基本没关系,那套话术放在 MFC 教程上是不成立的。真正需要它的人,是做 Windows 桌面开发、要维护老代码库、或者啃 Windows 编程底层机制的那批人。判断这份资料值不值得收,得看它讲的 MFC 是不是那套"绕不开的老底子"。

一、MFC 基础篇到底打的是什么底

基础篇覆盖教材前十三章,这个体量决定它不可能只讲拖控件。MFC 的学习曲线有个特点:表面上是学一套类库,实际上是在补 Windows API、消息循环、句柄、GDI 这几层前置知识。基础篇通常会先把 Win32 程序结构和 MFC 的封装关系讲透,再进入 CWnd、CDialog、文档视图这些具体类。真正决定后面能不能走远的,是它对消息映射机制的处理——是只教你点几下向导生成代码,还是把 DECLARE_MESSAGE_MAP 背后的分派逻辑拆开讲。这一点从章节推进的节奏就能看出来:如果前几章花了较大篇幅在手工写窗口类和消息处理,那这份资料属于打地基型;如果一上来就是对话框可视化操作,那它更适合当快速上手手册。

二、值得反复看的几个段落

  • 消息映射与运行时类型识别:MFC 里最容易"会用不会讲"的部分。面试问起 MFC 如何不用虚函数表实现消息分发,答不上来的人多半就是这块跳过了。
  • 文档/视图结构:这是 MFC 框架设计的核心思想,也是后来很多人转向 Qt、WPF 时最容易水土不服的地方。理解它为什么把数据和显示分离,比记住几个类名有用得多。
  • GDI 绘图与设备上下文:CDC、CPen、CBrush 这一串,是后面做自定义控件、画图表、处理打印的基础。跳过它,界面部分就只能停在默认样式。
  • 对话框与控件的数据交换:DDX/DDV 那套宏,写业务界面天天用,但很少有人真正读明白它怎么和控件绑定。

三、资料包拆开用的思路

这套内容按教材章节组织,天然适合拆成三段用。第一段是环境搭建加第一个窗口程序,跟着走一遍建立手感就行,不用逐字抠。第二段是消息机制和各类 MFC 类的用法,这段要慢,最好对照 MSDN 的类层次图同步看,把每个类在继承树上的位置标出来。第三段是文档视图和绘图这类综合章节,建议脱离视频自己重敲一遍,把示例里省略的初始化代码补全,坑往往就藏在这些省略里。

配套的章节笔记别当成字幕看,它的正确用法是当检索表——学完一章后合上视频,自己默写一遍这章涉及的关键类和它们之间的调用关系,再拿笔记对答案。笔记里如果有代码片段,优先看那些没在视频里完整演示的边角部分。

四、谁适合收,谁可以跳过

如果你在维护一套十年前的 MFC 项目,或者课程设计、毕设要求做 Windows 桌面程序,这份资料是顺手的工具。它的价值在于把散落的类库用法拢成一条线,省去自己翻文档的时间。但如果你已经明确走跨平台或 Web 方向,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 枚举打印机

课程购买
课程价格
金币29.9
299金币限时优惠会员免费
销量:0
💎 开通会员每日免费下载,比单买更划算 →
支付成功后会自动显示下载资源云盘的链接!点击链接即可下载到本地。