WEB开发网
开发学院软件开发VC 可设置单元格颜色的ClistCtrl类 阅读

可设置单元格颜色的ClistCtrl类

 2006-07-23 11:20:05 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 一、说明:CListCtrl控件简单易用,美中不足的是不能设置单元格的颜色,可设置单元格颜色的ClistCtrl类,作者试着扩展了CListCtrl类,提供了一个可设置单元格颜色的函数,SetItemColor(int nItem, int nSubItem, COLORREF clr

本文示例源代码或素材下载

一、说明:

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

Tags:设置 单元 颜色

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接