如果你正在维护一套 Windows 桌面程序,界面还停留在原生控件的灰白样子,或者你已经能写业务逻辑、但一碰到"换肤""自绘控件""高分屏发虚"就绕道走,这门课值得先了解清楚再决定要不要投入时间。它讲的不是 MFC 入门,而是 DUI(DirectUI)体系下控件的具体用法和皮肤切换的落地方式,属于有一定门槛、但正好卡在很多人瓶颈处的主题。

它解决的是什么工作场景

日常开发里最典型的几类麻烦:界面要跟产品给的视觉稿走,原生控件改不动;多个客户端要支持不同主题,换色换图之后不能每处都改代码;一个窗口里控件数量多、刷新频繁,卡顿和闪烁压不下去;4K 屏上字体和布局糊成一片。这门课围绕 DUI 框架展开,核心是把"控件长什么样"和"业务逻辑干什么"分开,让外观由皮肤资源控制,代码只管行为和事件。这个思路一旦跑通,换肤就不再是重写界面,而是替换一套资源。

学完之后你能独立做什么

按课程内容推进,比较现实的目标有几个:能在一个已有 DUI 窗口里正确摆放和使用基础控件,包括标签、分组框、各类按钮、单选复选、输入框、下拉框、进度条、IP 地址与日期控件以及弹出窗口;能处理更复杂的高级控件,比如平铺布局、富文本编辑、列表视图和树形结构;能对接扩展控件,像颜色选择、图表展示、滚动文字和表格控件。皮肤切换部分讲的是可运行的切换机制,配合皮肤库的使用,而不是只贴一段配置说明。此外还涉及 DPI 调整,这部分对现在的多分辨率环境很实用。

还有一个容易被忽略的价值:课程会带你看懂页面框架、入口函数、全局资源和启动等待窗口这一整套骨架。很多人用 DUI 只会照着改控件,一旦要新起一个窗口或调整启动流程就卡住,原因就是这部分没打通。

资料适合什么基础

  • 需要至少能读懂 C++ 代码,理解类和对象、消息与事件回调的基本写法。完全没接触过 C++ 的话,建议先补语言基础再来。
  • 最好写过一点 Windows 窗口程序,知道窗口过程、控件句柄这类概念。有 MFC 或 Win32 经验会顺很多。
  • 不适合零基础学编程的人。课程重心在框架和控件的具体实现,不会花篇幅讲语法。
  • 适合已经在做桌面客户端、被界面问题反复消耗时间,想把这套机制系统理一遍的开发者。

建议的使用方式

不要一次看完再动手。比较稳的节奏是:先跟着把基础控件走一遍,每学一个就在自己的小工程里摆出来、改改属性,确认理解没偏;再进高级控件和扩展控件,这部分代码量更大,重点是弄清数据怎么喂给控件、事件怎么回传;最后集中攻皮肤切换和 DPI,因为这两块依赖前面控件的组织方式,顺序倒了会很吃力。遇到启动流程和全局资源那几节,建议单独整理一份笔记,后面排查问题时用得上。

整体来说,这是一门偏实操、面向已有 Windows 开发经验的人的中段课程。它不会让你从不会编程变成会编程,但如果你正好在做 DUI 界面、被换肤和控件细节反复绊住,它提供的路径是具体的、能落地的。先确认自己的基础是否够,再决定投入。

课程目录

课程目录25 集
  • 01 页面框架及CPP代码简介 01 Dui控件详解及皮肤切换概览.mp4
  • 02 WinMain入口函数及全局资源.mp4
  • 03 Splash等待窗口及内部原理解析.mp4
  • 04 CPP代码及事件简介.mp4
  • 02 DUI基本控件 01 Dui的Label和GroupBox控件.mp4
  • 02 Dui的Button按钮控件.mp4
  • 03 Dui的单选框和复选框控件.mp4
  • 04 Dui的Edit输入控件.mp4
  • 05 Dui的下拉框Combo控件.mp4
  • 06 Dui的圆形进度条控件.mp4
  • 07 Dui的IP地址及日期时间控件.mp4
  • 08 Dui的模态对话框控件.mp4
  • 03 DUI高级控件 01 Dui的Tile瓦片控件.mp4
  • 02 Dui的RichEdit控件.mp4
  • 03 Dui的ListView控件.mp4
  • 04 Dui的Tree控件.mp4
  • 04 DUI拓展控件 01 Dui的Color颜色控件.mp4
  • 02 Dui的Chart图表控件.mp4
  • 03 Dui的滚动文字和ListEx控件.mp4
  • 05 DPI调整 01 Dui使用DPI动态调整页面比例.mp4
  • 06 DUI皮肤切换及SkinMagic 01 Dui切换皮肤详解.mp4
  • 02 Dui添加按钮切换皮肤.mp4
  • 03 Dui切换皮肤Bug解决.mp4
  • 04 SkinMagic切换皮肤.mp4
  • 05 dui本课程小结.mp4