设置ListCtrl列表控件其中某一行的字体和背景颜色
设置ListCtrl列表控件其中某一行的字体和背景颜色,可以最终达到如下效果:
操作步骤如下所示:
1.先添加一个自定义消息
ON_NOTIFY ( NM_CUSTOMDRAW,IDC_V_H264_NALLIST, OnCustomdrawMyList )
注:在BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()之间。第二个参数是LIstCtrl的ID,第三个参数是消息响应函数。
2.下面是具体的函数。根据表格内容的不同,设置不同的背景颜色。
比如:“NAL负载类型”为SLICE的时候,背景为青色;为SPS的时候,背景为黄色;为PPS的时候,背景为咖啡色。
//ListCtrl加颜色
void CSpecialVH264Dlg::OnCustomdrawMyList ( NMHDR* pNMHDR, LRESULT* pResult )
{//This code based on Michael Dunn's excellent article on//list control custom draw at http://www.codeproject.com/listctrl/lvcustomdraw.aspNMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR );// Take the default processing unless we set this to something else below.*pResult = CDRF_DODEFAULT;// First thing - check the draw stage. If it's the control's prepaint// stage, then tell Windows we want messages for every item.if ( CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage ){*pResult = CDRF_NOTIFYITEMDRAW;}else if ( CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage ){// This is the notification message for an item. We'll request// notifications before each subitem's prepaint stage.*pResult = CDRF_NOTIFYSUBITEMDRAW;}else if ( (CDDS_ITEMPREPAINT | CDDS_SUBITEM) == pLVCD->nmcd.dwDrawStage ){COLORREF clrNewTextColor, clrNewBkColor;int nItem = static_cast<int>( pLVCD->nmcd.dwItemSpec );CString strTemp = m_vh264nallist.GetItemText(nItem,2);if(strcmp(strTemp,"SLICE")==0){clrNewTextColor = RGB(0,0,0); //Set the text clrNewBkColor = RGB(0,255,255); //青色}else if(strcmp(strTemp,"SPS")==0){clrNewTextColor = RGB(0,0,0); //text clrNewBkColor = RGB(255,255,0); //黄色}else if(strcmp(strTemp,"PPS")==0){clrNewTextColor = RGB(0,0,0); //textclrNewBkColor = RGB(255,153,0); //咖啡色}else if(strcmp(strTemp,"SEI")==0){clrNewTextColor = RGB(0,0,0); //textclrNewBkColor = RGB(255,66,255); //粉红色}else if(strcmp(strTemp,"IDR_SLICE")==0){clrNewTextColor = RGB(0,0,0); //textclrNewBkColor = RGB(255,0,0); //红色}else{clrNewTextColor = RGB(0,0,0); //textclrNewBkColor = RGB(255,255,255); //白色}pLVCD->clrText = clrNewTextColor;pLVCD->clrTextBk = clrNewBkColor;// Tell Windows to paint the control itself.*pResult = CDRF_DODEFAULT;}
}
设置ListCtrl列表控件其中某一行的字体和背景颜色相关推荐
- MFC之列表控件ListCtrl
MFC列表控件ListCtrl如图: 列表控件ListCtrl样式属性(风格)有: Icon大图标,SmallIcon小图标.List列表.Report报告 ,但今天只谈Report报告样式: 一:基 ...
- MFC 列表控件CListCtrl加载类似QQ界面的头像与文字
本文主要讲述使用VS2012 MFC的CListCtrl(列表)控件加载类似于QQ界面的图片与文字数据.主要通过CListCtrl::InsertColumn.InsertItem.SetItemTe ...
- 虚拟列表控件---加载大数据行
平常所用到的列ListView/ListCtrl控件,都是只有行至几百行数据,直至今日,在项目中遇到了上10W量级数据条,终于感觉到普通加载的艰辛,遂到网上乱找一通,发现大同小异,转载了这篇比较详细的 ...
- android 固定底部 布局_Android系统列表控件
在android系统控件中,有多个控件可以展示列表数据. 一.ListView 该组件是android中最常用的一个UI组件,用于实现在屏幕上显示多个内容,以便于我们用手指进行滑动. ListView ...
- 重复控件Repeater和数据列表控件DataList
5.3 重复控件Repeater和数据列表控件DataList 本节介绍ASP.NET中两个数据迭代控件:Repeater和DataList控件.其中,Repeater控件又被称为重复控件:Data ...
- Visual studio C++ MFC之列表控件CListCtrl Control
背景 本篇旨在MSDN帮助文档下总结列表控件CListCtrl Control的使用,并列出碰到的具体问题. 正文 列表型控件List Control的类是ClistCtrl,具体成员对象详见链接,以 ...
- android listview添加数据_Android系统列表控件
在android系统控件中,有多个控件可以展示列表数据. 一.ListView 该组件是android中最常用的一个UI组件,用于实现在屏幕上显示多个内容,以便于我们用手指进行滑动. ListView ...
- VC6.0 MFC 列表框 列表控件 添加 修改 删除
VC6.0 MFC 列表框 列表控件 添加 修改 删除 写在前面:列表框是很常用,并且很重要的一个控件,那么接下来,就跟随我的脚步,去探索它的奥秘吧! 一.未卜先知 1.编译运行后,点击"学 ...
- Android开发-列表控件
列表控件是Android中最常见的控件之一 由于手机屏幕空间都比较有限,能够一次性在屏幕上显示的内容并不多,当我们的程序中有大量的数据需要展示的时候,就可以借助各种列表控件来实现. <ListV ...
最新文章
- springboot(十八):使用Spring Boot集成FastDFS
- GitHub最最最火的开源爬虫工具箱,一爬就取
- html文件上传协议,HTTP 上传文件的协议格式
- PHP7.2 redis
- IIS32位,64位模式下切换
- 【Oracle】ORA-30042: Cannot offline the undo tablespace
- Portal: 西电捷通TISec®技术
- R语言画图教程之盒形图
- 超级账本Fabric:Fabric-CA的使用演示(两个组织一个Orderer三个Peer)
- 最新爱云发卡系统源码公益版
- Notes Sixth day-渗透攻击-红队-打入内网
- Unity:编辑器Editor常用命令
- html css图标怎么跟文字并排,科技常识:css图标与文字对齐的两种实现方法
- Flask之解读app.py文件
- mc服务器物品给予,[管理|功能]GiveItem —— 给予物品 | 更好的Give|支持NBT|保存物品[1.12.2|1.16.X]...
- 深信服实习面经11_02
- hive的beeline使用
- 自动弹图片html,HTML图片预览弹出层实现
- jsp高校活动管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目
- 《Linux内核分析》期中总结
热门文章
- 书籍推荐:《Secrets of the Oracle Database》
- CCF201403-1 相反数(解法二)(100分)(废除!!!)
- 同余定理在算法求解中的应用
- PyCharm: Simplify chained comparison
- leetcode(二)—— Add Two Numbers(Python/C++)
- C++基础::typeid、type_info
- 算法 —— 实用程序片段
- mysql 将a表数据插入b表_查询A表数据插入到B表中 sql
- Android常见概念
- python编程入门 适合于零基础朋友-零基础能学好python吗?教女朋友学python是送命题吗?...