【发布时间】:2010-09-07 21:56:41
【问题描述】:
我正在尝试找到一种简单的方法来更改 WTL 或普通 Win32 代码中 listview 和 treeview 控件中文本和背景的颜色。
我真的不想为这些控件实现完整的所有者绘制,只需更改使用的颜色即可。
我想确保图像仍以适当的透明度绘制。
有什么建议吗?
【问题讨论】:
我正在尝试找到一种简单的方法来更改 WTL 或普通 Win32 代码中 listview 和 treeview 控件中文本和背景的颜色。
我真的不想为这些控件实现完整的所有者绘制,只需更改使用的颜色即可。
我想确保图像仍以适当的透明度绘制。
有什么建议吗?
【问题讨论】:
您可能还想看看 WTL 的 CCustomDraw::OnItemPrePaint(如果您需要控制单个项目的绘制)
描述这个过程的好文章是here
【讨论】:
CListViewCtrl 和 CTreeViewCtrl 包装类也有相应的方法:
【讨论】:
我已经有一段时间没有直接使用win32 API了,但我相信如果你为你的控件处理WM_ERASEBACKGROUND消息,你可以在你的处理程序中使用FillRect()来使用你喜欢的任何颜色来绘制背景。
【讨论】: