BOOL CListCtrlEx::OnEraseBkgnd(CDC* pDC) 
{....}
已经加了背景图
HBRUSH CListCtrlEx::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
HBRUSH hbr = CListCtrl::OnCtlColor(pDC, pWnd, nCtlColor);
pDC->SetTextColor(RGB(255,255,0));
pDC->SetBkMode(0);
return hbr;
}
没起作用,还是黑字白底.

解决方案 »

  1.   

    你应该return一个自己创建的画刷(用你希望的颜色)。
      

  2.   

    无需重新写类,CListCtrl就有自己的处理事件CListCtrl::SetBkColor等,用就行了
      

  3.   

    把所有的背景颜色设为一样就可以了:
    m_list.SetBkColor(RGB(192,192,100));
    m_imageList.SetBkColor(RGB(192,192,100));
    m_list.SetTextBkColor(RGB(192,192,100));
      

  4.   

    http://www.codeguru.com/cpp/controls/listview/advanced/article.php/c4179/