《网校VC++ MFC 经典教程-基础篇》本课程是《VC++ MFC》第一部分,对应着教材的第1章到第13章。【技能收获】学完可掌握:C/C++ 网络编程。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向
这套《网校VC++ MFC 经典教程-基础篇》在资料堆里属于那种"标题不响亮、但拆开看很实在"的货。要提醒一句:摘要里提到的 Linux 运维、SRE、云原生岗位和这门课基本没关系,那套话术放在 MFC 教程上是不成立的。真正需要它的人,是做 Windows 桌面开发、要维护老代码库、或者啃 Windows 编程底层机制的那批人。判断这份资料值不值得收,得看它讲的 MFC 是不是那套"绕不开的老底子"。
基础篇覆盖教材前十三章,这个体量决定它不可能只讲拖控件。MFC 的学习曲线有个特点:表面上是学一套类库,实际上是在补 Windows API、消息循环、句柄、GDI 这几层前置知识。基础篇通常会先把 Win32 程序结构和 MFC 的封装关系讲透,再进入 CWnd、CDialog、文档视图这些具体类。真正决定后面能不能走远的,是它对消息映射机制的处理——是只教你点几下向导生成代码,还是把 DECLARE_MESSAGE_MAP 背后的分派逻辑拆开讲。这一点从章节推进的节奏就能看出来:如果前几章花了较大篇幅在手工写窗口类和消息处理,那这份资料属于打地基型;如果一上来就是对话框可视化操作,那它更适合当快速上手手册。
这套内容按教材章节组织,天然适合拆成三段用。第一段是环境搭建加第一个窗口程序,跟着走一遍建立手感就行,不用逐字抠。第二段是消息机制和各类 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 枚举打印机