您的位置:逆风者 VC++ 正文
 添加时间:2007-09-01 原文发表:2007-08-31 人气:177 来源:vckbase.com

可设置单元格颜色的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));      
四、参考资料  
相关文章

利用VC++开发ASP图像处理组件(二)
从 ADO 迁移到 ADO.NET(一)
获得 Win32 窗口句柄的更好的方法
关于 IDispatch 接口的 LPDispatch 属性的实
用ATL开发复合控件
后缀表达式求值及校验
浅谈PDFlib中文输出(四)PDFlib 接收的几种
事件编程(二)
用鼠标手势动作来发送命令
在VC中使用 Flash 美化你的程序
IP Messenger 详细分析
C :使用 Visual C 2005 的现代语言特色
毫秒定时器
类似于FlashGet的悬浮框的制作
不重起Windows直接更改IP地址
MFC程序员的WTL指南: 中文版序言
COM 组件设计与应用(五)——用 ATL 写第一
编写多文档应用程序
PhotoShop插件开发之选区(Selection)
VC初学者入门系列之二:消息循环

相关评论


本文章所属分类:首页 VC++

  热门关键字: