设置LISTControl控件某一行的背景和文字颜色
定义宏
用listcontrol的SetItemData设置某一行的属性,通过自定义属性标识实现。
自定义某行内容颜色属性:
#define COLOR_DEFAULT 0 //默认颜色
#define COLOR_RED 1 //红色
#define COLOR_BLUE 2 //蓝色
定义消息
调用BOOL SetItemData(In int nItem, In DWORD_PTR dwData);
其中nItem为某行位置,下标以0开始,dwData可为自定义颜色属性。
然后在LISTControl控件中的NM_CUSTOMDRAW事件中处理。
void CListControlExampleDlg::OnNMCustomdrawList1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMTVCUSTOMDRAW pNMCD = reinterpret_cast<LPNMTVCUSTOMDRAW>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
NMCUSTOMDRAW nmCustomDraw = pNMCD->nmcd;
switch(nmCustomDraw.dwDrawStage)
{
case CDDS_ITEMPREPAINT:
{
if (COLOR_BLUE == nmCustomDraw.lItemlParam)
{
pNMCD->clrTextBk = RGB(51, 153, 255);
pNMCD->clrText = RGB(255, 255, 255);
}
else if (COLOR_RED == nmCustomDraw.lItemlParam)
{
pNMCD->clrTextBk = RGB(255, 0, 0); //背景颜色
pNMCD->clrText = RGB(255, 255, 255); //文字颜色
}
else if (COLOR_DEFAULT == nmCustomDraw.lItemlParam)
{
pNMCD->clrTextBk = RGB(255, 255, 255);
pNMCD->clrText = RGB(0, 0, 0);
}
else
{
//
}
break;
}
default:
{
break;
}
}
*pResult = 0;
*pResult |= CDRF_NOTIFYPOSTPAINT; //必须有,不然就没有效果
*pResult |= CDRF_NOTIFYITEMDRAW; //必须有,不然就没有效果
return;
}
调用方法
void CListControlExampleDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
m_lstControl.SetItemData(0, COLOR_BLUE);
m_lstControl.SetItemData(1, COLOR_DEFAULT);
return;
}
void CListControlExampleDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
m_lstControl.SetItemData(0, COLOR_DEFAULT);
m_lstControl.SetItemData(1, COLOR_RED);
return;
}
参考
mfc中设置listcontrol某一行的背景和文字颜色
https://blog.csdn.net/langxm2006/article/details/76736153/
设置LISTControl控件某一行的背景和文字颜色的更多相关文章
- 设置EditText控件中提示消息hint的字体颜色和大小
设置EditText控件中提示消息hint的字体颜色和大小 1.设置字体大小 代码例: public void init(){ hint= (EditText) findViewById(R.id.i ...
- 增加duilib edit控件的提示功能和多种文字颜色
转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41786407 duilib的CEditUI控件内部使用了win32的原生 ...
- 扩展duilib edit控件的提示功能和多种文字颜色(解决edit为password显示不正常的bug)
参考博客:Redrain 转载:http://blog.csdn.net/zhuhongshu/article/details/41786407 在Redrain博客的基础上做了修改 1.CEditU ...
- 如何设置TextView控件的背景透明度和字体透明度
如何设置TextView控件的背景透明度和字体透明度 设计师给的标注都是类似这样的: 字号:26 颜色:#000000 透明度:80% 其实,程序上只要需要一个色值就OK了,那么这个色值我如何计算呢? ...
- VS2010,MFC动态按钮和窗体背景图片,以及是静态文字控件透明,并避免静态文字刷新出现的重叠问题
1.动态按钮的四种动作 1)正常 2)按下 3)滑过 4)失效 在MFC中,4个动作对应着四种位图bmp, 首先,将代表四种状态的位图加载入资源中,将对应的按钮设置为BitmapButton 第二,在 ...
- 样式:让div里的两个控件在一行的操作
table的td里如果放一个text,希望在右侧再放一个按钮,让这两个控件在一行,但是放了之后总是底部不能对齐,这样的话,加上下边这句样式就可以了 position:relative; top:17p ...
- easyui表单多重验证,动态设置easyui控件
要实现的功能:在做添加学生信息的时候,利用easyui的验证功能判断 学号是否重复和学号只能为数字 最终效果如下图: 但在做这个的过程中,遇到了一系列的问题: 扩展validatebox的验证方法,最 ...
- WinForm 批量设置指定控件中的控件状态
在开发中常遇到当点击某个按钮的时候,禁用文本框或按钮的的状态,以防止误操作,下面的代码是我已批量设置指定控件中的按钮状态的代码,同理可以延伸出很多操作. /// <summary> /// ...
- WPF后台设置xaml控件的样式System.Windows.Style
WPF后台设置xaml控件的样式System.Windows.Style 摘-自 :感谢 作者: IT小兵 http://3w.suchso.com/projecteac-tual/wpf-zhi ...
随机推荐
- 苹果笔记本适合什么人 中国Mac电脑用户的8个事实
报告由腾讯 ISUX 研究中心收集了全国 7946 名 Mac 电脑用户的问卷整理而成.并且,参考了苹果公司的历年财报,以及百度.StatCounter 等第三方市场统计数据. 你是 iPhone 用 ...
- Centos 配置eth0 提示Device does not seem to be present
Centos 配置eth0 提示Device does not seem to be present 参考资料: http://www.cnblogs.com/fbwfbi/archive/2013/ ...
- JSP学习记录
<%@ page contentType="text/html;charset=gb2312" %> <html> <h1>计算器</h1 ...
- 运维监控-使用Zabbix Server 添加自定义 item
运维监控-使用Zabbix Server 监控自定义 item 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客就直接开门见山如何使用Zabbix Server 监控自定义 ...
- canvas svg webgl threejs d3js 的区别
canvas 绘制2D位图. Echarts是基于Canvas技术的可视化工具,底层封装了原生的JavaScript的绘图 API. canvas里面绘制的图形不能被引擎抓取,canvas中我们绘制图 ...
- Dash VS Underscore
Dash Dashes are recommended by Google over underscores (source). Dashes are more familiar to the end ...
- TCP简介(一)
1. TCP如何利用IP达到自己目的 1.1 IP特点 无连接 不可靠 1.2 TCP将应用程序的传输数据分割成合适的数据块 1.3 定时器 1.4 延迟确认 1.5 检验和 1.6 流量控制 2. ...
- Shell编程(三)Shell特性
!$:显示上一条命令最后一个参数 $?: 上个命令的退出状态,或函数的返回值. alias xxx="命令":给命令取别名 xxx 通过 vim ~/.bashrc 里编辑,可以来 ...
- 从虚拟机指令执行的角度分析JAVA中多态的实现原理
从虚拟机指令执行的角度分析JAVA中多态的实现原理 前几天突然被一个"家伙"问了几个问题,其中一个是:JAVA中的多态的实现原理是什么? 我一想,这肯定不是从语法的角度来阐释多态吧 ...
- listView item分割线不显示
在华为平板上列表上分割线第一个不显示,增大dividerHeight代码解决 <ListView android:id="@+id/list_view" android:di ...