【发布时间】:2017-08-21 07:41:59
【问题描述】:
我正在尝试开发 MFC 应用程序。我有一个CListCtrl 对象,我想完全改变它的背景颜色。我试着让它进来
HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 事件。但不会为CListCtrlobject 触发此事件。那我该怎么做呢?
【问题讨论】:
标签: c++ background mfc listbox clistctrl
我正在尝试开发 MFC 应用程序。我有一个CListCtrl 对象,我想完全改变它的背景颜色。我试着让它进来
HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 事件。但不会为CListCtrlobject 触发此事件。那我该怎么做呢?
【问题讨论】:
标签: c++ background mfc listbox clistctrl
根据 MSDN 文档,您可以调用CListCtrl::SetBkColor 方法来设置CListCtrl 的背景颜色。
对于更细粒度的控件,您可能需要阅读this CodeProject article,它展示了如何使用列表视图控件的自定义绘制功能来绘制具有交替颜色的行。
【讨论】:
您可以在 Owner Draw 中将任何控件属性的背景颜色设置为 trueenter image description here 然后使用 OnCtlColor 方法或使用 setBkColor(RGB(...));它会工作的..
【讨论】: