我正在尝试开发一个MFC应用程序。我有一个CListCtrl
对象,我想要完整地改变它的背景颜色。我试着把它弄进去
HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
事件。但是CListCtrl
对象没有触发此事件。那我怎么能这样做呢。谢谢你提前。
答案 0 :(得分:2)
您可以使用CListCtrl :: SetBkColor。
对于列表视图,您还可以使用所有者绘制(DrawItem)或自定义绘制。
自定义绘制是获得对背景的更多控制的最简单方法。仅设置颜色非常简单。
答案 1 :(得分:1)
根据MSDN文档,您可以调用CListCtrl::SetBkColor
方法来设置CListCtrl
的背景颜色。
对于更精细的控制,您可能需要阅读this CodeProject article,其中显示了如何使用listview控件的自定义绘制功能来绘制具有替代颜色的行。
答案 2 :(得分:0)
您可以在Owner Draw中设置属性为任何控件属性enter image description here的背景颜色 然后使用OnCtlColor方法或使用setBkColor(RGB(...));它会工作..