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