题
我正在尝试找到一种简单的方法来更改文本和背景的颜色 listview
和 treeview
WTL 或纯 Win32 代码中的控件。
我真的不想为这些控件实现完整的所有者绘图,只需更改使用的颜色即可。
我想确保图像仍然以适当的透明度绘制。
有什么建议么?
解决方案
其他提示
也有相应的方法 CListViewCtrl
和 CTreeViewCtrl
包装类:
- 获取背景颜色
- 设置背景颜色
您可能还想看看 WTL 的 CCustomDraw::OnItemPrePaint (如果您需要控制单个项目的绘制)
描述这个过程的一篇好文章是 这里
我已经有一段时间没有直接使用 win32 API 了,但我相信,如果您为控件处理 WM_ERASEBACKGROUND 消息,则可以在处理程序中使用 FillRect() 来使用您喜欢的任何颜色绘制背景。
不隶属于 StackOverflow