可设置单元格颜色的ClistCtrl类

王朝vc·作者佚名  2006-01-17
宽屏版  字体: |||超大  

可设置单元格颜色的ClistCtrl类

作者/smiletiger

下载源代码

一、说明:

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));

四、参考资料

列表控件排序功能的实现

XListCtrl - A custom-draw list control with subitem formatting

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有