一个函数就可以搞定:
void CListCtrlView::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 )
{
//当前选中的item
int nItem=(pLVCD->nmcd.dwItemSpec);
COLORREF crText,crBk;
//若选中
if(m_listCtrl->GetCheck(nItem) == 1)
{
crText = RGB(0,0,0);//RGB(32,32,255);
crBk =RGB(153,204,255);
}
//若取消选中
else{
crText = RGB(0,0,0);
crBk = RGB(240,247,249);
}
pLVCD->clrText = crText;
pLVCD->clrTextBk = crBk;
*pResult = CDRF_NEWFONT;
}
}
只需要改红色部分(文件名),声明一下。
C++-MFC Office风格的界面,ListCtrl点击选中后高亮
最新推荐文章于 2019-06-22 22:23:49 发布