CListCtrl高亮显示某一项

CListCtrl 失去焦点仍然显示选中高亮 CListCtrl中需要把选中的item高亮显示时只需要调用SetItemState传入LVIS_SELECTED就好。 但是这样需要把焦点设置到CListCtrl上,一旦CListCtrl失去焦点高亮就会消失。最近工作中遇到一个需求,需要让CListCtrl在失去焦点的情况下依然显示高亮的item。 总的来说有三种方法来实现这个功能。继承CListCtrl然后重绘太麻烦了不想用这个……NM_ 阅读详情

CListCtrl高亮显示某一项

  今天遇到一个小小的问题,就是高亮显示ListCtrl某一项,通过查阅MSDN,找到了相应函数,即:SetItemState,下面是MSDN中对该函数的相关说明.

--------------------------------------------------------------------------------------------------------------------

BOOL SetItemState(
   int nItem,
   LVITEM* pItem
);
BOOL SetItemState(
   int nItem,
   UINT nState,
   UINT nMask
);

Parameters

nItem
Index of the item whose state is to be set.
pItem
Address of an LVITEM structure, as described in the Platform SDK. The structure's stateMask member specifies which state bits to change, and the structure's state member contains the new values for those bits. The other members are ignored.
nState
New values for the state bits.
nMask
Mask specifying which state bits to change.

Return Value

Nonzero if successful; otherwise zero.

Remarks

An item's "state" is a value that specifies the item's availability, indicates user actions, or otherwise reflects the item's status. A list view control changes some state bits, such as when the user selects an item. An application might change other state bits to disable or hide the item, or to specify an overlay image or state image.

--------------------------------------------------------------------------------------------------------------------

函数参数很简单,在这里就不作介绍了,一般情况下用下面的代码会正常高亮显示你所想要高亮显示的项:

  m_listCtrl.SetItemState(0,   LVIS_SELECTED,   LVIS_SELECTED   |   LVIS_FOCUSED);  

但是有的时候你会发现这段代码并不好用!上网搜....网上也大都是这么说的,没错呀,再加上一行代码试试...

listCtrl.SetItemState(index,   LVIS_SELECTED,   LVIS_SELECTED   |   LVIS_FOCUSED);   
  listCtrl.EnsureVisible(index,   FALSE);  

还是不行!这是为什么呢?!其实原因很简单:ListCtrl没有获得焦点!!!简单吧,哈哈..."千里之堤溃于蚁穴"(用这句话形容好像不太合适,大概是这个意思吧,文笔不好,大家多多见谅(*^__^*) 嘻嘻……),问题虽小,但可以说明一些问题,有的时候这个小小的问题也可能耗费你很长时间(个人深有体会!),如果你也遇到了类似问题,看到了这篇文章后问题解决了,我会感到很高兴,我今晚熬夜也"熬而无憾了"!

  下面是我遇到该问题的情形:

  (详见图片)

..........

Over,May it can help  you!

实战分享:如何利用svchost进程绕过360防护(附完整Shellcode注入教程) 本文深入解析系统进程安全防护机制,探讨svchost等关键进程的安全特性与防护策略。详细分析安全软件的行为检测和内存保护技术,提供系统加固与监控实践建议,助力企业构建多层次防御体系,有效应对潜在安全威胁。 阅读详情

相关推荐

彻底卸载Ubuntu双系统,并完美回收100G空间给D盘

本文记录了安全卸载Ubuntu双系统并回收磁盘空间的全过程。作者首先通过Windows命令行彻底清除Ubuntu启动项,避免GRUB引导报错;随后在磁盘管理中删除Linux分区,将100G未分配空间合并至相邻的D盘。针对C盘空间不足问题,作者采用Dism++清理系统文件,并将用户文档、聊天记录等迁移至扩容后的D盘。最终实现了引导纯净、空间合理分配的目标,特别强调分区扩展必须遵循"相邻原则",建议通过间接迁移而非直接扩容来优化系统盘空间管理。

2403_85993278的博客 1514

让listcontrol的某一行高亮显示

只需在对应的button函数里添加如下语句 m_list.SetHotItem( 0 ); //给某行换颜色亮度 m_list.SetItemState( 0, LVIS_SELECTED, LVIS_SELECTED ); 结果如下: ...

小陆的博客 1406

手把手教你用EGM96模型校正DEM数据(含在线工具推荐)

本文详细介绍了如何使用EGM96地球重力场模型校正DEM数据中的高程偏差。通过对比WGS84椭球面与大地水准面的差异,解释了校正原理,并提供了从在线工具快速验证到Python脚本批量处理的全流程实战指南,帮助GIS开发者和数据分析师确保高程数据基准一致,提升空间分析精度。

ttt77的博客 1008

MFC控件——列表控件——ListCtrl (转)

VC列表控件CListCtrl成员详见MSDN:http://msdn.microsoft.com/en-us/library/Aa453379CListCtrl 类封装“列表视图控件”功能,显示每个包含图标(列表视图中)和标签的收集。除图标和标签外,每一项还能有显示在图标和标签的右边的列中的信息。此控件(以及CListCtrl类)只适用于运行于Windows 95和Windows NT ...

weixin_30624825的博客 504

图解转置卷积原理

声明:本文大部分搬运自【机器学习】详解 转置卷积 (Transpose Convolution) 感谢博主花与人间事同,本人只是在博主原创文章上做补充以及添加一些自己的理解。 1 转置卷积的背景 通常,对图像进行多次卷积运算后,特征图的尺寸会不断缩小。而对于某些特定任务 (如图像分割和图像生成等),需将图像恢复到原尺寸再操作。这个将图像由小分辨率映射到大分辨率的尺寸恢复操作,称为上采样 (Upsample),如下图所示: 上采样方法有很多,详见【图像处理】详解 最近邻插值、线性插值、双线性插值、双三次插值

laonafahaodange的博客 5686

Cartographer从安装到实战:手把手教你运行2D/3D建图与定位

本文提供了一份详尽的Cartographer从零安装到实战应用的完整指南。内容涵盖环境准备、依赖编译、源码构建等关键步骤,并手把手指导读者运行2D/3D官方数据集进行建图与定位测试。文章深入解析了参数配置与自定义数据适配方法,帮助开发者快速掌握这一强大的实时同步定位与建图工具,并将其应用于机器人导航与自动驾驶等实际场景。

rice5的博客 952

CListCtrl设置和取消高亮方法,使列表中始终只有一条记录为选中高亮状态

在做音乐播放器时,CListCtrl用来显示歌曲列表,现在想达到的效果是,始终让当前播放的歌曲处于选中高亮状态。 代码如下:m_songlist是CListCtrl类型 m_songlist.SetItemState(m_songlist.SetSelectionMark(m_songindex),0,LVIS_SELECTED);  //SetSelectionMark为了获取上次处

行云织梦 1万+

【导航理论&实战篇】四足机器人弹簧倒立摆(SLIP)动力学模型

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对四足机器人动力学模型-VMC、SLIP和浮动机体模型做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章四足机器人弹簧加载倒立摆(SLIP)动力学模型是一种用于描述和分析四足机器人在运动过程中动态特性的理论模型。这种模型将四足机器人的腿部简化为弹簧,而机器人的身体则被视为一个倒立摆,这样的抽象使得研究者能够更容易地分析和控制机器人的运动。提示:以下是本篇文章正文内容。

qq_35635374的博客 806

自绘listCtrl控件选中该行高亮(模拟windows)


 CListCtrl的派生类CMyListCtrl的DrawItem()函数里添加代码 CDC *pDC = CDC::FromHandle(lpDrawItemStruct->hDC); if (lpDrawItemStruct->itemState && LVIS_SELECTED) { CPen...

heshaai6843的博客 273

全新DEIM有效涨点改进目录 | 本专栏持续更新500+篇内容 | 包含各种顶会顶刊卷积、注意力、特征融合模块、有效特征聚合提取模块,上采样模块、下采样模块,二次创新模块、独家创新等几百种创新点改进

🚀【CVPR2025DEIM改进专栏速览】🔥 专栏提供500+篇目标检测创新改进方案,涵盖卷积/注意力/特征融合等创新改进点,均源自顶会论文及实战经验。支持多领域应用(工业/医疗/遥感等),配套完整教程和答疑服务。亮点包括: 1️⃣ 持续更新SOTA模型改进方案 2️⃣ 小白友好型实验操作指南 3️⃣ 跨学科科研支持(已助非计算机专业发表论文) 4️⃣ 提供虚拟环境配置方案。 订阅可获完整项目代码及交流群服务,适合研究生科研论文改进需求。价格呈上涨趋势,早订更优惠!

Ai缝合怪、助力小伙伴高效发论文 2056

deepstream车道线检测自定义插件化,其中要注意pipeline的配置,如果插件位置配置不对,会报input format should be RGBA when using blur-obje

以上代码中,我们先从对象池中获取一个 DsUserMeta 对象,然后使用 get_lane_line_from_frame 函数获取车道线检测结果,并使用 add_lane_line_meta 函数将其添加到 DsUserMeta 对象中。注意,上述代码中的 get_lane_line_from_frame 函数和 add_lane_line_meta 函数需要你自己实现,用于从视频帧中提取车道线检测结果,并将其添加到 DsUserMeta 中。

pvmsmfchcs的博客 690

ListCtrl失去焦点仍然高亮显示并改变单元格颜色

这里使用VS2010的MFC进行讲解 : 1.找到需要添加的消息的ListControl控件的属性,选择事件里面,选择NM_CUSTOMDRAW事件,程序自动生成方法. 2.在.cpp文件中自动生成的OnNMCustomdrawList1 方法里面添加代码. (1).为List实现失去焦点仍然高亮显示. void CDlgDacggl::OnNMCustomdrawList1(NM...

周杰伦 3710

别再用LabelImg了!我手搓了一个C#“一站式”YOLO工具箱,标注训练推理全搞定

这个工具箱目前已经在两个小型产线项目中试用,反馈非常好。效率提升:原本需要 2 天完成的“数据准备 - 训练 - 验证”循环,现在缩短到了 2 小时。门槛降低:产线技术员经过 10 分钟培训,就能独立完成新产品的模型迭代。当然,它还有改进空间未来计划集成主动学习功能:自动筛选出置信度低的图片,推荐优先标注。支持多模型管理:方便在不同产品型号间快速切换。增加PLC 通信模块:直接在推理界面配置 IO 信号,实现真正的软硬联动。最后想说工具的本质是服务于人。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 442

ClistCtrl高亮显示某一项

今天遇到一个小小的问题,就是高亮显示ListCtrl某一项,通过查阅MSDN,找到了相应函数,即:SetItemState,下面是MSDN中对该函数的相关说明. ------------------------------------------------------------------------------------------------------------------

leaf6094189的专栏 3485

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

CListCtrl非激活状态高亮显示

之前遇到过,搜了半天,没记录,今天又遇到了,又搜了半天。当你希望打开对话框时,CListCtrl默认选择一项时,这个很有用。不知道MFC为什么这么简单的功能要搞这么复杂。可能认识不够吧,总结点是点。三个要点:一、Always Show Selection:False总是显示选定内容,即使控件没有焦点。View:Report二、一定要设置焦点//设置选中第二行m_lstTest.SetFocus(...

weixin_34351321的博客 84

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

CListCtrl高亮显示某一行

感谢: http://blog.youkuaiyun.com/cpp_yangzuoshi/archive/2010/05/16/5596522.aspx   在vc2005中,如果要高亮显示一行的话,一定要用SetFocus();    m_datadisplay 为CListCtrl类型变量. int displaylistcount 当前行号   基本顺序:    

RealPresence and Media Collaboration 专栏 994

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

CListCtrl高亮显示一行

CListCtrl高亮显示一行   m_pointList.SetItemState(i, LVIS_SELECTED|LVIS_FOCUSED,LVNI_SELECTED|LVIS_FOCUSED);   m_pointList.EnsureVisible(i, FALSE); 但我的程序中,调用多次这一段,就高亮了多行,最后检查属性发现single selection设置成了false,

fxc_fxc的博客 687

CListCtrl 失去焦点仍然显示选中高亮(转)

CListCtrl中需要把选中的item高亮显示时只需要调用SetItemState传入LVIS_SELECTED就好。 但是这样需要把焦点设置到CListCtrl上,一旦CListCtrl失去焦点高亮就会消失。 最近工作中遇到一个需求,需要让CListCtrl在失去焦点的情况下依然显示高亮的item。 总的来说有三种方法来实现这个功能。 继承CListCtrl然后重绘 太麻烦了不想用这个…… NM_CUSTOMDRAW事件 这个是一个类似于回调的处理过程,Windows在绘制List Ctrl的

dragoo1的专栏 1830

让ClistCtrl能够拖动项

让ClistCtrl能够拖动项前言: 在网上搜索很多关于拖动ClistCtrl中一项的文章,找到了一些,但却编译不了。有个例子不错,但总觉得不合适我的程序,于是自己下决心做一个,过程倒还挺顺利。现在拿出来和大家分享,希望对大家有所帮助。阿弥陀佛!^_^一、先上个图片个给大家看一下效果吧。二、源代码下载DragListCtrl_VC6.zip (VC6下编译通过,支持unicode)三、几点说明1.本例子只能在CListCtrl的报告样式中应用,其它样式的不行。2.为了简单方便和高效,我没有选择重绘

jacky_qiu的专栏 6693

选中某一item,高亮显示(CListCtrl CTreeCtrl CListBox)

要求: 1. 对控件中的某一项,选中它,并高亮(默认的形式是背景为蓝色)     CListBox控件的设置: Listbox功能简单,设置也简单,只需一句: m_lstbxIncludedStations.SetCurSel(0);     CListCtrl控件的设置: 目的:在对话启动起来后,希望CListctrl里有一项是被选中的,且该项高亮(蓝色)显示 方法

nishuodeqianshou的专栏 2312

用代码控制CListCtrl的一行高亮显示或选择的问题

1.选中CLISTCTRL的“SHOW   SELECTION   ALWAYS”复选框; 2.m_List.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED);

图形学与可视化 1091

CListCtrl使用详解

1。先来介绍REPORT类型的CListCtrl:首先使用下面的语句设置CListCtrl的style: DWORD SetExtendedStyle( DWORD dwNewStyle );其中 LVS_EX_CHECKBOXES 表示添加CheckBox LVS_EX_FULLROWSELECT 表示选择整行 LVS_EX_GRIDLINES 表示添加表格线如果设置了LVS_EX_CHECKB

优程阁 4136

CListCtrl非激活状态,失去焦点依然高亮显示

CListCtrl非激活状态高亮显示 - 大气象 - 博客园   http://www.cnblogs.com/greatverve/archive/2013/02/25/clistctrl-highlight.html

ccfxue的博客 525

关于ClistCtrl 使用

CListCtrl类封装“列表视图控件”功能,显示每个包含图标(列表视图中)和标签的收集。除图标和标签外,每一项还能有显示在图标和标签的右边的列中的信息。此控件(以及CListCtrl类)只适用于运行于Windows 95和Windows NT 3.51及更高版本的程序。下面是CListCtrl类的主要概况。对于详细的、概念性的讨论,请参阅联机文档“Visual C++程序员指南”

我为编程狂,我为外语狂 3526
上一篇: sizeof
下一篇: Java 环境变量问题
Yanger_xy
博客等级 码龄18年 60粉丝 8原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值