在使用MFC的CListCtrl时,用得最多的就是LVN_ITEMCHANGED和LVN_ITEMCHANGING两个消息了,它们通常都是成对出现。可是,我们经常认为只有Select一个Item时才会产生这两个消息。其实,这两个消息的意思是某个item发生了变化,包括:状态变化和数据变化。其中,状态变化通常是由SetItemState引起的,数据变化是由SetItemData引起的。消息的数据封装在NMLISTVIEW结构中。对于SetItemData,该结构中的state成员均为0。另外,DeleteItem会引发LVN_ITEMCHANGING消息(但不会引发LVN_ITEMCHANGED消息),此时,state
List Control的ItemChange消息
最新推荐文章于 2024-05-02 18:04:02 发布
本文详细探讨了在MFC中使用CListCtrl时,LVN_ITEMCHANGED和LVN_ITEMCHANGING消息的触发情况。这些消息不仅在Item被Select时产生,还包括状态和数据变化。通过分析消息序列,指出在处理这些消息时需要注意的细节,如状态转换的原子性、重复行为的过滤以及可能出现的问题和解决方案。
摘要由CSDN通过智能技术生成