关于LIST CONTROL某一行满足条件改变背景颜色的有关问题

关于LIST CONTROL某一行满足条件改变背景颜色的问题
void fabandlg::OnCustomdrawList(NMHDR *pNMHDR, LRESULT *pResult)
 {

     NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR );
 
     *pResult = CDRF_DODEFAULT;

     if ( CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage )
     {
         *pResult = CDRF_NOTIFYITEMDRAW;
     }
     else if ( CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage )
     {
         COLORREF crBk;

         if (??这个判断应该怎么写?? )//这个判断


             crBk =RGB(22,232,23);

         else 
             crBk = RGB(240,47,249);

         pLVCD->clrTextBk = crBk;
         
 *pResult = CDRF_NEWFONT;

     }
 


m_static_list.SetItemText(0,5,"OK");
如果满足这一列的条件“OK”,就显绿色,其它的都是红色。

------解决方案--------------------
如: int nItem = (int)lpNMCustomDraw->nmcd.dwItemSpec; 
int nSubItem = lpNMCustomDraw->iSubItem; 

COLORREF crText;
if ( (pLVCD->nmcd.dwItemSpec % 3) == 0 ) crText = RGB(255,0,0);
else if ( (pLVCD->nmcd.dwItemSpec % 3) == 1 ) crText = RGB(0,255,0);
else crText = RGB(128,128,255);
// Store the color back in the NMLVCUSTOMDRAW struct.
pLVCD->clrTextBk = crText;

------解决方案--------------------
用SetItemData即可。

比如,有一行index=3正在进行读写,可以令SetItemData(3,1);