指定改变CListCtrl中某一行的颜色,比如说刚添加进去的一行,让它改变颜色,这样记录多了,容易看到自己刚刚加入的行,方便操作可查看,也可以让添加和修改的记录显示不一样的颜色,方便的多了,VC自带的没有这种功能。
虽然说自带没有这个功能,但可以用NU_CUSTOMDRAW
我的环境是vc2010, 听说vc6 没有,需要手动添加。
新建一个mfc 对话框工程,并添加列表框控件,添加一些数据,让他能正常显示一个列表框的表格。这个时候还不能设置行颜色。
添加改变颜色的事件
打开MFC Class Wizard ,用如下方式添加列表框(我的是IDC_LIST2)的NU_CUSTOMDRAW事件,
然后把代码加入如下:
void CListCtrlTestDlg::OnCustomdrawList2(NMHDR *pNMHDR, LRESULT *pResult)
{
//LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
// TODO: Add your control notification handler code here
//pNMCD->clrTextBk = RGB(51, 153, 255);
//pNMCD->clrText = RGB(255, 255, 255);
//*pResult = 0;
LPNMLVCUSTOMDRAW lplvcd = (LPNMLVCUSTOMDR