ListCtrl,如何判定“最后一个”LVN_ITEMCHANGED消息?

deltacat 2005-02-15 12:00:46
item被选中或反选会引发这个消息,我需要在这个消息中进行一些界面元素状态改变的处理。

现在的问题是,每次改变选择时(主要是切换选择项的情况),都会先发出一个原item取消选择的消息,然后再发出一个新的选择消息,于是就造成了界面的闪烁。重点是,真正的“取消选择”的消息我也是需要处理的,因此不能简单的不处理“取消选择”消息。

另外,任何时候按下方向键,都会发出一个取消一个选择消息,哪怕是当前列表中仅有一个项目,并不存在“切换”的可能。

请问,我怎么判断“最后一个”消息,在此时才对消息进行处理?或者是否有其它方法实现这个目的?

...全文
160 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
deltacat 2005-08-29
  • 打赏
  • 举报
回复
揭帖吧。 :(
deltacat 2005-02-17
  • 打赏
  • 举报
回复
顶!
deltacat 2005-02-15
  • 打赏
  • 举报
回复
楼上,记录选中的项目是没有问题的,即使我不加判断,最终的结果也是正确的,无非是中间多做了一些处理,问题是,多做的这些处理会影响视觉效果。

我的意思是,即使每次只有一个item被选中,也会发出一系列“选择/取消选择”消息。但是我只需要对最后一个发出的消息进行处理。

healer_kx 2005-02-15
  • 打赏
  • 举报
回复
不知道我理解对了吗, 你用vector记录一系列一次选中的。
当选中新的items的时候,把这些在刷到vector里。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧