对于列表视图以ICON方式显示。当选中某元素时,该元素的图标和标签都会变色。请问如何设置成选中时图标不变色。谢谢!

解决方案 »

  1.   

    从CTreeCtrl中派生出一个类,覆盖函数DrawIem(LPDRAWITEMSTRUCT lpdis)
    void CMyListCtrl::DrawItem(LPDRAWITEMSTRUCT lpdis)
    {
        CDC dc;
        dc.Attach (lpdis->hDC);
        CRect rect = lpdis->rcItem;
        int nIndex = lpdis->itemID;    CBrush* pBrush = new CBrush;
        pBrush->CreateSolidBrush (::GetSysColor ((lpdis->itemState &
            ODS_SELECTED) ? COLOR_WINDOW: COLOR_WINDOW));
        dc.FillRect (rect, pBrush);
        delete pBrush;
       if (lpdis->itemState & ODS_FOCUS)
            dc.DrawFocusRect (rect);    dc.Detach ();
    }