MFC更改CListCtrl背景颜色

时间:2017-08-21 07:42:00

标签: c++ background mfc listbox clistctrl

我正在尝试开发一个MFC应用程序。我有一个CListCtrl对象,我想要完整地改变它的背景颜色。我试着把它弄进去 HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)事件。但是CListCtrl对象没有触发此事件。那我怎么能这样做呢。谢谢你提前。

3 个答案:

答案 0 :(得分:2)

您可以使用CListCtrl :: SetBkColor。

对于列表视图,您还可以使用所有者绘制(DrawItem)或自定义绘制。

自定义绘制是获得对背景的更多控制的最简单方法。仅设置颜色非常简单。

在CodeGuru中,您可以找到一个简单的类和描述,简化了自定义绘制的使用。 Part IPart II

答案 1 :(得分:1)

根据MSDN文档,您可以调用CListCtrl::SetBkColor方法来设置CListCtrl的背景颜色。

对于更精细的控制,您可能需要阅读this CodeProject article,其中显示了如何使用listview控件的自定义绘制功能来绘制具有替代颜色的行。

答案 2 :(得分:0)

您可以在Owner Draw中设置属性为任何控件属性enter image description here的背景颜色 然后使用OnCtlColor方法或使用setBkColor(RGB(...));它会工作..