怎样使得ListCtrl控件不同行的Text用不同颜色显示

解决方案 »

  1.   

    自绘控件:void CCustomDrawListCtrl::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult) 
    {
       *pResult = 0;   LPNMLVCUSTOMDRAW  lplvcd = (LPNMLVCUSTOMDRAW)pNMHDR;   int nItem = lplvcd->nmcd.dwItemSpec;
    //   int nSubItem = lplvcd->iSubItem;   switch(lplvcd->nmcd.dwDrawStage) 
       {
          case CDDS_PREPAINT :
          {
      *pResult = CDRF_NOTIFYITEMDRAW;
      return;
      }
          // Modify item text and or background
          case CDDS_ITEMPREPAINT:
          {  
    *pResult = CDRF_NOTIFYSUBITEMDRAW;
             return;
          }
          // Modify sub item text and or background
          case CDDS_SUBITEM | CDDS_PREPAINT | CDDS_ITEM:
          {
              lplvcd->clrText = SetTextClr(nItem);
              lplvcd->clrTextBk = SetTextBkClr(nItem);
             *pResult = CDRF_NEWFONT;
             return;
          }
       }
    }在函数SetTextClr和SetTextBkClr中控制你要显示的颜色。