【问题标题】:MFC change CListCtrl background colorMFC 更改 CListCtrl 背景颜色
【发布时间】:2017-08-21 07:41:59
【问题描述】:

我正在尝试开发 MFC 应用程序。我有一个CListCtrl 对象,我想完全改变它的背景颜色。我试着让它进来 HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 事件。但不会为CListCtrlobject 触发此事件。那我该怎么做呢?

【问题讨论】:

    标签: c++ background mfc listbox clistctrl


    【解决方案1】:

    您可以使用 CListCtrl::SetBkColor。

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

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

    在 CodeGuru 中,您可以找到一个很好的类和描述来简化自定义绘图的使用。 Part I, Part II

    【讨论】:

      【解决方案2】:

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

      对于更细粒度的控件,您可能需要阅读this CodeProject article,它展示了如何使用列表视图控件的自定义绘制功能来绘制具有交替颜色的行。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-08-17
          • 1970-01-01
          • 2013-06-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-08-08
          相关资源
          最近更新 更多