2008-09-05 54 views
5

我试图找到一种简单的方法来改变在WTL或普通的Win32代码中的listviewtreeview控件中的文本和背景的颜色。最简单的方法来改变列表视图和树视图颜色

我真的不想为这些控件实现完整的所有者绘图,只需更改使用的颜色。

我想确保图像仍然以适当的透明度绘制。

有什么建议?

回答

0

已经有一段时间了,因为我直接使用了win32 API,但我相信如果你为你的控件处理WM_ERASEBACKGROUND消息,你可以在你的处理程序中使用FillRect()来使用任何你喜欢的颜色来绘制背景。

2

也存在CListViewCtrlCTreeViewCtrl包装类适当的方法:

  • GetBkColor
  • SetBkColor
2

你也可能想看看WTL的CCustomDraw :: OnItemPrePaint(也就是,如果你需要控制单个项目的图纸)

描述一篇好文章这个过程是here