VC可设置单元格颜色的ClistCtrl类
2007-10-07 20:23:40 来源:WEB开发网核心提示:一、说明:CListCtrl控件简单易用,美中不足的是不能设置单元格的颜色,VC可设置单元格颜色的ClistCtrl类,作者试着扩展了CListCtrl类,提供了一个可设置单元格颜色的函数,SetItemColor(int nItem, int nSubItem, COLORREF clrText, COLORREF
一、说明:
CListCtrl控件简单易用,美中不足的是不能设置单元格的颜色,作者试着扩展了CListCtrl类,提供了一个可设置单元格颜色的函数,
SetItemColor(int nItem, int nSubItem, COLORREF clrText, COLORREF clrBkgnd).
本类参考自 vckbase “列表控件排序功能的实现”(作者/王骏 ) ,在使用本类前,请先参考该文。
示例程序运行效果如图一:
图一 示例程序运行效果图
二、原理
在ListCtrl绘制单元格时将发送NM_CUSTOMDRAW消息给父窗口,只要处理该消息,我们就可以定制自己想要的颜色。具体使用方法请参考源程序中的 函数:void CSortListCtrl::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)
三、使用方法 //设置整行选择和带表格线模式
m_MyListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
//设置列头
m_MyListCtrl.SetHeadings(_T("ID,100;Name,100;BirthDate,100"));
//添加项目
m_MyListCtrl.AddItem(_T("1"),_T("栾义明"),_T("1979-07-25"));
m_MyListCtrl.AddItem(_T("2"),_T("张伟"),_T("1982-03-26"));
//设置单元格颜色。
m_MyListCtrl.SetItemColor(0,1,RGB(255,0,0),RGB(0,255,0));
更多精彩
赞助商链接