设置listContrl中指定行的颜色
在MFC中 自己通过手动拖放CListCtrl控件来制作自己的表格;
目的: 将指定item的行更该颜色;
步骤:
1,在窗口中拖放CListCtrl控件, 单击右键 创建控件对象:
CListCtrl m_list;
2, 手动新建类 CMyListCtrl :public CListCtrl
类实现代码:
1.1,CMyListCtrl.h
#pragma once
#include "afxcmn.h" class CMylistCtrl :
public CListCtrl
{
public:
CMylistCtrl(void);
public:
~CMylistCtrl(void); public:
afx_msg void OnNMCustomdraw(NMHDR *pNMHDR, LRESULT *pResult);
void SetItemColor(DWORD item, COLORREF color); CMap<DWORD , DWORD& , COLORREF , COLORREF&> MapItemColor;
DECLARE_MESSAGE_MAP()
};
1.2, CMyListCtrl.cpp BEGIN_MESSAGE_MAP(CMylistCtrl, CListCtrl)
ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnNMCustomdraw)
// ON_WM_SIZE()
END_MESSAGE_MAP()
CMylistCtrl::CMylistCtrl(void)
{
}
CMylistCtrl::~CMylistCtrl(void)
{
}
void CMylistCtrl::OnNMCustomdraw( NMHDR *pNMHDR, LRESULT *pResult )
{
*pResult = CDRF_DODEFAULT;
NMLVCUSTOMDRAW * lplvdr = (NMLVCUSTOMDRAW*)pNMHDR;
NMCUSTOMDRAW &nmcd = lplvdr->nmcd;
switch (lplvdr->nmcd.dwDrawStage)//判断状态
{
case CDDS_PREPAINT:
*pResult = CDRF_NOTIFYITEMDRAW;
break;
case CDDS_ITEMPREPAINT:
COLORREF ItemColor;
//根据在SetItemColor(DWORD iItem, COLORREFcolor) 设置的//ITEM号和COLORREF 在摸板中查找,然后进行颜色赋值。
if (MapItemColor.Lookup(nmcd.dwItemSpec, ItemColor))
{
//lplvdr->clrText = RGB(0,0,0)//ItemColor
lplvdr->clrTextBk = ItemColor;
*pResult = CDRF_DODEFAULT;
}
break;
}
}
void CMylistCtrl::SetItemColor( DWORD item, COLORREF color )
{
// m_iCurrentItem = iItem;
// m_CurrentColor = color;
MapItemColor.SetAt(item, color);//设置某行的颜色
this->RedrawItems(item,item);//重新染色 //this->SetCheck(item,1);
this->SetFocus();//设置焦点
UpdateWindow();
}
4, 在MFC中包含CMyListCtrl.h
然后进行替换:
CListCtrl m_list; -> CMyListCtrl m_list;
其他不变;
5, 在你需要的地方更改颜色:
设置listContrl中指定行的颜色的更多相关文章
- 【练习】数据移动---parfile导出表中指定行:
要求: ①创建存放数据的文件: ②使用默认的bad文件生成方式: ③使用truncate选项方式. 1.准备条件: [oracle@host03 ~]$ mkdir datadump [oracle@ ...
- mssql sqlserver 禁止删除数据表中指定行数据(转自:http://www.maomao365.com/?p=5323)
转自:http://www.maomao365.com/?p=5323 摘要:下文主要讲述,如何禁止删除数据表中指定行数据 最近收到用户一个需求,禁止所有人删除”表A”中,ID 为1.2.3.4.5的 ...
- 设置UniDbGrid的整行显示颜色,如果某字段值是我们的控制字段
设置UniDbGrid的整行显示颜色,如果某字段值是我们的控制字段,使用下列判断设置更快捷一点: procedure TUniForm.UniDBGridDrawColumnCell(Sender: ...
- DbGridEh中改变行的颜色
DbGridEh中改变行的颜色 代码也挺简单的,只是当时没有想到: if ds2.FieldByName('AutoRead').AsInteger=0 thenbegin DBGridEh1.Ca ...
- iOS 设置文本中指定某段文本的颜色 大小
NSString *money = @"300"; NSString *perStr = @"元/时"; NSString *text = [NSString ...
- 设置secureCRT中vim的字体颜色
1.在/etc/vimrc新增以下一行 syntax on 注:上述方法对root用户无效,原因为在一般用户中,alias vi=vim,而在root用户中默认无此设置,因此若需要root用户也显示颜 ...
- 设置secureCRT中vim的字体颜色 分类: B3_LINUX 2014-07-12 22:01 1573人阅读 评论(0) 收藏
1.在/etc/vimrc新增以下一行 syntax on 注:上述方法对root用户无效,原因为在一般用户中,alias vi=vim,而在root用户中默认无此设置,因此若需要root用户也显示颜 ...
- 怎样设置easyui中datagrid行高
$('#face_table2').datagrid({ title: '信息', iconCls: 'icon-save', url: 'callro ...
- python 删除文件中指定行
代码适用情况:xml文件,循环出现某几行,根据这几行中的某个字段删掉这几行这段代码的作用删除jenkins中config.xml中在自动生成pipline报错的时的回滚 start = '<se ...
随机推荐
- ASCII part of UTF8
UTF8 所以,本着节约的精神,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码. UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1 ...
- EXCEL表格链接SQLSEVER数据库
Sub 数据库连接() Set Cnn = CreateObject("ADODB.Connection") Set rs = CreateObject(" ...
- Android studio 添加引用Module项目 与 设置Module项目的Libs的Jar在主项目里使用
前言 添加引用Module项目 设置Module项目的Libs的Jar在主项目里使用 1.在项目里添加libs包,并且加入jar 2.设置这个module项目的build.gradle depende ...
- laravel sql mode only_full_group_by 解决小记
環境: mysql: 5.7.* Laravel: 5.4.* sql 中使用到了 group by,會提示 500錯誤,將 config/database.php中的 strict的值改爲true, ...
- CSIC_716_20191126【面向对象编程--继承】
继承 什么是继承:继承是新建类的一种方式,通过此方式生成的类称为子类.或者 派生类,被继承的类称为父类.基类或超类.在python中,一个子类可以继承多个父类. 继承的作用:减少代码的冗余,提高开发效 ...
- js数学公式-曲线运动
---勾股定理 a*a + b*b =c*c ---三角函数 正弦 : sin 余弦 : cos 正切 : tan 余切 : cot 正弦定理 a/sinA = b/sinB =c/sinC = 2r ...
- CF822F Madness
题意:给你一棵边权都为1的树,要求选择互不相交的若干条路径,这些路径包含有所有点. 在每一条路径上选择一条边,放置一个动点,设置一个方向,它开始在该路径上来回运动,速度为1.每个点上都有一个停表,当有 ...
- (依赖注入框架:Ninject ) 一 手写依赖注入
什么是依赖注入? 这里有一个场景:战士拿着刀去战斗: 刀: class Sword { public void Hit(string target) { Console.WriteLine($&quo ...
- CSS3——动画
动画是CSS3中具有颠覆性的特征之一,可通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果. 语法格式: animation:动画名称 动画时间 运动曲线 何时开始 播放次数 是否反 ...
- 大杀器Bitset
其实并不怎么会用,有一次有位学长提到了这个名字,就这么取题目了. 1.BZOJ 3687 简单题 求子集的算术和的异或和 http://www.lydsy.com/JudgeOnline/proble ...