CListCtrl單雙行顏色不同
void CListCtrlEx::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
NMLVCUSTOMDRAW* lplvcd=(NMLVCUSTOMDRAW*)(pNMHDR);
int nRow=(int)lplvcd->nmcd.dwItemSpec;
switch (lplvcd->nmcd.dwDrawStage)
{
case CDDS_PREPAINT:
*pResult |= CDRF_NOTIFYITEMDRAW;
break;
case CDDS_ITEMPREPAINT:
//------------------------------------------------------
// 單行與雙行的顏色
if(nRow%2 == 1)//單行
{
lplvcd->clrTextBk = RGB(255,248,220);
lplvcd->clrText = RGB(0,0,0);
*pResult = CDRF_NEWFONT;
}
else //雙行
{
lplvcd->clrTextBk = RGB(176,196,222);
lplvcd->clrText = RGB(0,0,0);
*pResult = CDRF_NEWFONT;
}
//-------------------------------------------------------
//------------------------------------------------------
// 打勾項
//------------------------------------------------------
//------------------------------------------------------
// 選中行
if(GetItemState(nRow,CDIS_SELECTED))
{
lplvcd->nmcd.uItemState &= ~CDIS_SELECTED;
lplvcd->clrTextBk = RGB(255,255,0);
lplvcd->clrText = RGB(255,0,0);
*pResult = CDRF_NEWFONT;
}
//------------------------------------------------------
break;
default:
*pResult = CDRF_DODEFAULT;
break;
}
}