CLineColorListCtrl MFC行颜色定制控件
ListCtrl 的行背景色定制功能,用过一次就离不开。MFC 里的 CListCtrl
是个老牌控件,用来做表格展示再合适不过,但默认样式真的有点土。想让界面“活”起来?你可以试试扩展它的绘制逻辑。
CLineColorListCtrl 是对 CListCtrl
的一个派生类扩展,专门用来设置每一行的文字颜色和背景色。你可以用 SetItemColor
单独改某一行,也可以用 SetAllItemColor
一把梭全改,想清空配色用 ClearColor
就行,接口挺直观的。
它内部维护了一个 CMap
来存行号和颜色配置,配合 OnNMCustomdraw
消息回调,整个绘制过程就能灵活接管。你只需要注意父窗口的 ON_NOTIFY
别漏了,不然颜色改了也没效果。
界面风格统一、强调某些行、配色提示状态,这类场景下有用。比如高亮出错的那一行、标记重点数据、甚至用颜色做交互引导,都是常见的做法。
如果你也在用 MFC 开发后台管理工具或数据展示界面,这段代码真的值得收藏。要更多灵感?可以看看这些相关的配色技巧:
如果你是第一次 OnNMCustomdraw
,建议断点调试看绘制流程,顺便理解一下 MFC 的绘图事件响应模型,后面定制其他控件也就不怕了。
142KB
文件大小:
评论区