问题:CListCtrl如何高亮选中一行 http://zhidao.baidu.com/question/100664911.html 扩展:单行、双行及完成状态的字体等等。。。

http://zhidao.baidu.com/link?url=BKp05mfOdKbEBh21svQelpVhYjzDkIpYUZay8_3ZLSndTQn5kK0eTwQG8jBvYnwh8USFHoMPmozWw5odO2LN__

void CSendCommandDlg::OnNMCustomdrawList2(NMHDR *pNMHDR, LRESULT *pResult)
{
NMLVCUSTOMDRAW* lplvcd = (NMLVCUSTOMDRAW*)(pNMHDR);
int nRow = (int)lplvcd->nmcd.dwItemSpec;
switch (lplvcd->nmcd.dwDrawStage)
{
case CDDS_PREPAINT:
*pResult |= CDRF_NOTIFYITEMDRAW;
break;
case CDDS_ITEMPREPAINT:// 单行与双行的颜色
{
if (nRow &1)//// 单行
{
lplvcd->clrTextBk = RGB(0xFF,0xFF,0xFF);
lplvcd->clrText = RGB(0x00,0x00,0x00);
*pResult = CDRF_NEWFONT;
}else // 双行
{
lplvcd->clrTextBk = RGB(0xBB,0xCC,0xFF);
lplvcd->clrText = RGB(0x44,0x33,0x00);
*pResult = CDRF_NEWFONT;
}
if (m_List.GetCheck(nRow) && (m_List.GetExtendedStyle()& LVS_EX_CHECKBOXES))
{
lplvcd->clrTextBk = RGB(0x00,0x00,0x80);
lplvcd->clrText = RGB(0xFF,0xFF,0x00);
HFONT hFont = (HFONT)this->SendMessage(WM_GETFONT);
LOGFONT lf;
GetObject(hFont,sizeof(lf),&lf);
lf.lfStrikeOut = TRUE;// // 删除线
//lf.lfItalic = TRUE;//斜体
hFont = CreateFontIndirect(&lf);
SelectObject(lplvcd->nmcd.hdc,hFont);
DeleteObject(hFont);
*pResult = CDRF_NEWFONT;
}
if (m_List.GetItemState(nRow,CDIS_SELECTED))//选中行颜色
{
lplvcd->nmcd.uItemState &= ~CDIS_SELECTED;
lplvcd->clrTextBk = RGB(255,0,0);
lplvcd->clrText = RGB(0,0,255);
*pResult = CDRF_NEWFONT;
}
}
break;
default:
*pResult = CDRF_DODEFAULT;
break;
}
}

时间: 2024-12-29 23:34:42

问题:CListCtrl如何高亮选中一行 http://zhidao.baidu.com/question/100664911.html 扩展:单行、双行及完成状态的字体等等。。。的相关文章

消息队列(转)https://zhidao.baidu.com/question/1822088046009192748.html

一.消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题.实现高性能,高可用,可伸缩和最终一致性架构.是大型分布式系统不可缺少的中间件. 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等. 二.消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场景.异步处理,应用解耦,流量削锋和消息通讯四个场景. 2.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信.传统

网页中为什么常用AT替换@(repost from https://zhidao.baidu.com/question/122291.html)

经常在个人主页上看到别人的邮箱地址中@被AT符号替代,很是迷惑,这样替代有什么好处呢?还是说html原有的原因使界面中不能出现@,查阅资料后解答如下: 写成AT [at],是为了防止被一些邮件扫描器搜索到,并作为垃圾广告的目标,向其发送垃圾邮件.这是一种自我保护的方式,如果你的垃圾邮件过多,在论坛和网上社区不妨也试试这个方法. 因为垃圾邮件发送者的机器人程序主要是依靠“@”这个符合再连同上下文来判断电子邮件地址的,因此你应该尽量避免使用该符号.例如你可以在网页上写,你的电子邮件是“someone

jQuery获取动态表格中checkbox被选中一行的属性数据

http://www.jianshu.com/p/0ec66caf4c40 jQuery获取表格中checkbox被选中一行的属性数据

PagerSlidingTabStrip 高亮选中标题

1.选中标题后,高亮标题@Override public void onPageSelected(int position) { setSelectTextColor(position); if (delegatePageListener != null) { delegatePageListener.onPageSelected(position); } } private void setSelectTextColor(int position) { for (int i = 0; i <

[DevExpress]GridControl根据列来选中一行

关键代码: /// <summary> /// 根据列来选中一行 /// </summary> /// <param name="gridView">GridView</param> /// <param name="colName">列名称</param> /// <param name="colValue">列值</param> public st

tableview 选中一行后,不显示选中颜色。。。。的N种解决办法

tableview 选中一行后,不显示选中颜色,不要将tableview的allowsSelection设置成NO,那样的话可能导致tableview不能响应点击动 作.合理的解决方法是: 直接在创建cell的时候: cell.selectionStyle = UITableViewCellSelectionStyleNone; 或者你是通过XIB创建的cell那么写在xib的nib里边也是可以的:(原理相同) - (void)awakeFromNib {     //取消cell 选中风格  

js实现表格的选中一行-------Day58

最开始想更多的用js来动态操作表格,是因为在应用了easyUI之后,发现直接写一个<table id="tt"></table>,这就够了,界面里面就剩下这么一个标签了,豁然干净了好多啊,当然要应用的还有好多知识,像json等,那个后期再说这里先模仿生成下table的一些样式吧. 前面记录了动态的增加一行,insertRow()和insertCell()这么两个方法:然后又记录了删除一行或者一列的deleteRow()和deleteCell(),记得哦,没写的话

【editplus经常用的快捷键】Editplus 选中一行ctrl+r,Edit 合并行 Ctrl+Shift+J 合并选定行 删除当前行

Editplus 选中一行: ctrl+rEditplus 复制一行: ctrl+r选择行,然后ctrl+c复制.复制一行到下一行中:Editplus有:Ctrl+j 复制上一行的一个字符到当前行Editplus 删除一行: Shift+Alt+Delete 直接删除当前行, 或:shift+Delete也成.移动一行到上一行/下一行: alt+shift+向上键(向下键)--------------------------------------------------------------

http://zhidao.baidu.com/link?url=evcqbUua_8bSOP03PArLBfv1QMVtOSfgxF1aDDCxAjinNIBnFf7iAXGRZ984NoWx15u0xAn8mfsnA_Nimj3sia

http://zhidao.baidu.com/link?url=evcqbUua_8bSOP03PArLBfv1QMVtOSfgxF1aDDCxAjinNIBnFf7iAXGRZ984NoWx15u0xAn8mfsnA_Nimj3sia