设置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列表控件其中某一行的字体和背景颜色相关推荐

  1. MFC之列表控件ListCtrl

    MFC列表控件ListCtrl如图: 列表控件ListCtrl样式属性(风格)有: Icon大图标,SmallIcon小图标.List列表.Report报告 ,但今天只谈Report报告样式: 一:基 ...

  2. MFC 列表控件CListCtrl加载类似QQ界面的头像与文字

    本文主要讲述使用VS2012 MFC的CListCtrl(列表)控件加载类似于QQ界面的图片与文字数据.主要通过CListCtrl::InsertColumn.InsertItem.SetItemTe ...

  3. 虚拟列表控件---加载大数据行

    平常所用到的列ListView/ListCtrl控件,都是只有行至几百行数据,直至今日,在项目中遇到了上10W量级数据条,终于感觉到普通加载的艰辛,遂到网上乱找一通,发现大同小异,转载了这篇比较详细的 ...

  4. android 固定底部 布局_Android系统列表控件

    在android系统控件中,有多个控件可以展示列表数据. 一.ListView 该组件是android中最常用的一个UI组件,用于实现在屏幕上显示多个内容,以便于我们用手指进行滑动. ListView ...

  5. 重复控件Repeater和数据列表控件DataList

    5.3  重复控件Repeater和数据列表控件DataList 本节介绍ASP.NET中两个数据迭代控件:Repeater和DataList控件.其中,Repeater控件又被称为重复控件:Data ...

  6. Visual studio C++ MFC之列表控件CListCtrl Control

    背景 本篇旨在MSDN帮助文档下总结列表控件CListCtrl Control的使用,并列出碰到的具体问题. 正文 列表型控件List Control的类是ClistCtrl,具体成员对象详见链接,以 ...

  7. android listview添加数据_Android系统列表控件

    在android系统控件中,有多个控件可以展示列表数据. 一.ListView 该组件是android中最常用的一个UI组件,用于实现在屏幕上显示多个内容,以便于我们用手指进行滑动. ListView ...

  8. VC6.0 MFC 列表框 列表控件 添加 修改 删除

    VC6.0 MFC 列表框 列表控件 添加 修改 删除 写在前面:列表框是很常用,并且很重要的一个控件,那么接下来,就跟随我的脚步,去探索它的奥秘吧! 一.未卜先知 1.编译运行后,点击"学 ...

  9. Android开发-列表控件

    列表控件是Android中最常见的控件之一 由于手机屏幕空间都比较有限,能够一次性在屏幕上显示的内容并不多,当我们的程序中有大量的数据需要展示的时候,就可以借助各种列表控件来实现. <ListV ...

最新文章

  1. springboot(十八):使用Spring Boot集成FastDFS
  2. GitHub最最最火的开源爬虫工具箱,一爬就取
  3. html文件上传协议,HTTP 上传文件的协议格式
  4. PHP7.2 redis
  5. IIS32位,64位模式下切换
  6. 【Oracle】ORA-30042: Cannot offline the undo tablespace
  7. Portal: 西电捷通TISec®技术
  8. R语言画图教程之盒形图
  9. 超级账本Fabric:Fabric-CA的使用演示(两个组织一个Orderer三个Peer)
  10. 最新爱云发卡系统源码公益版
  11. Notes Sixth day-渗透攻击-红队-打入内网
  12. Unity:编辑器Editor常用命令
  13. html css图标怎么跟文字并排,科技常识:css图标与文字对齐的两种实现方法
  14. Flask之解读app.py文件
  15. mc服务器物品给予,[管理|功能]GiveItem —— 给予物品 | 更好的Give|支持NBT|保存物品[1.12.2|1.16.X]...
  16. 深信服实习面经11_02
  17. hive的beeline使用
  18. 自动弹图片html,HTML图片预览弹出层实现
  19. jsp高校活动管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目
  20. 《Linux内核分析》期中总结

热门文章

  1. 书籍推荐:《Secrets of the Oracle Database》
  2. CCF201403-1 相反数(解法二)(100分)(废除!!!)
  3. 同余定理在算法求解中的应用
  4. PyCharm: Simplify chained comparison
  5. leetcode(二)—— Add Two Numbers(Python/C++)
  6. C++基础::typeid、type_info
  7. 算法 —— 实用程序片段
  8. mysql 将a表数据插入b表_查询A表数据插入到B表中 sql
  9. Android常见概念
  10. python编程入门 适合于零基础朋友-零基础能学好python吗?教女朋友学python是送命题吗?...