CListCtrl 隔行变色
响应消息
ON_NOTIFY(NM_CUSTOMDRAW, ListCtrl的ID, OnNMCustomdrawList)
实现函数OnNMCustomdrawList
void CFinishWellToFind::OnNMCustomdrawList(NMHDR *pNMHDR, LRESULT *pResult)
{
NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR );
*pResult = CDRF_DODEFAULT;
if ( CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage )
{
*pResult = CDRF_NOTIFYITEMDRAW;
}
else if ( CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage )
{
*pResult = CDRF_NOTIFYSUBITEMDRAW;
}
else if ( (CDDS_ITEMPREPAINT | CDDS_SUBITEM) == pLVCD->nmcd.dwDrawStage )
{
COLORREF clrNewTextColor, clrNewBkColor;
int nItem = static_cast<int>( pLVCD->nmcd.dwItemSpec );
POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
int index = m_ListCtrl.GetNextSelectedItem(pos);
if (index == nItem)//如果要刷新的项为当前选择的项,则将文字设为白色,背景色设为蓝色
{
clrNewTextColor = RGB(255,255,255); //Set the text to white
clrNewBkColor = RGB(49,106,197); //Set the background color to blue
}
else if (nItem % 2) //奇偶行隔行变色
{
clrNewTextColor = RGB(0,0,0); //set the text black
clrNewBkColor = RGB(200,200,220); //leave the background color white
}
else
{
clrNewTextColor = RGB(0,0,0); //set the text black
clrNewBkColor = RGB(255,255,255); //leave the background color white
}
pLVCD->clrText = clrNewTextColor;
pLVCD->clrTextBk = clrNewBkColor;
*pResult = CDRF_DODEFAULT;
}
}
最新文章
- linux 下find命令 --查找文件名
- maven自动部署到远程tomcat教程
- JQuery学习(表单对象属性)---checked
- 安卓学习笔记---Activity
- 多校5-MZL&#39;s Border 分类: 比赛 2015-08-05 21:28 7人阅读 评论(0) 收藏
- TextView中的图文混排
- js动态判断密码强度&;&;实用的 jQuery 代码片段
- 使用导入导出进行备份和恢复OCR(10g)
- 使用CSS达到阴阳八卦图等图形
- 【linux】内核make编译链接相关变量定义
- maven web 项目中启动报错 Java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
- 蓝桥杯 0/1背包问题 (java)
- 错误:Unsupported major.minor version 51.0的解决
- java各种数据类型的数组元素的默认值
- Composer安装与使用
- window文件过长无法删除的处理方式
- 使用WinPcap(SharpPcap)实现ARP抓包以实现设备IP搜索功能
- 可由inetd启动的协议无关时间获取服务器程序
- Python3 configparser值为多行时配置文件书写格式
- docker容器里面安装ssh
热门文章
- Ubuntu16.04添加HP Laserjet Pro M128fn打印机和驱动
- python多线程理解
- 昼猫笔记--什么是DOM
- 现实人脸识别性别之路----弄清楚train_test_split函数
- 最长上升子序列(LIS)nlogn模板
- cz.msebera.android.httpclient.conn.ConnectTimeoutException: Connect to /192.168.23.1:8080 timed out(Android访问后台一直说链接超时)
- 【转】python的zipfile压缩、解压缩
- 将yyyyMMdd格式的字符串转成日期DateTime格式
- 安卓MP3播放器开发实例(3)之进度条和歌词更新的实现
- json和XML