5

我试图找到一种简单的方法来更改 WTL 或纯 Win32 代码中的文本和背景listview以及treeview控件的颜色。

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

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

有什么建议么?

4

4 回答 4

3

看看下面的宏:

ListView_SetBkColor
ListView_SetTextColor

TreeView_SetBkColor
TreeView_SetTextColor

于 2008-09-05T11:38:06.083 回答
2

CListViewCtrlCTreeViewCtrl包装类也有适当的方法:

  • 获取黑色
  • 设置背景颜色
于 2008-09-08T07:03:18.790 回答
2

您可能还想看看 WTL 的 CCustomDraw::OnItemPrePaint (如果您需要控制单个项目的绘制)

描述此过程的好文章是here

于 2008-09-08T08:35:54.653 回答
0

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

于 2008-09-05T11:29:33.313 回答