Windows CListCtrl(MFC)将鼠标滚轮事件转换为;“选定项目已更改”;通知

Windows CListCtrl(MFC)将鼠标滚轮事件转换为;“选定项目已更改”;通知,windows,mfc,windows-10,clistctrl,bcg,Windows,Mfc,Windows 10,Clistctrl,Bcg,当尝试为CListCtrl水平滚动实现SHIFT+MouseWheel事件的处理时,我感到惊讶的是,在SHIFT+MouseWheel上,鼠标光标下的CListCtrl项被选中,选择更改 WM_鼠标滚轮消息变为LVN_ITEMCHANGED通知 我试图在一个较小的C++项目中重现行为,并且是-移位+MousWeluUp选择了CleSTCCTL右键的鼠标指针。 有人知道这种行为或这种行为的原因吗? 最终一种风格或扩展风格会影响这种行为吗 提前谢谢 您是否有LVS\u EX\u TRACKSELEC

当尝试为CListCtrl水平滚动实现SHIFT+MouseWheel事件的处理时,我感到惊讶的是,在SHIFT+MouseWheel上,鼠标光标下的CListCtrl项被选中,选择更改

WM_鼠标滚轮消息变为LVN_ITEMCHANGED通知

我试图在一个较小的C++项目中重现行为,并且是-移位+MousWeluUp选择了CleSTCCTL右键的鼠标指针。 有人知道这种行为或这种行为的原因吗? 最终一种风格或扩展风格会影响这种行为吗


提前谢谢

您是否有
LVS\u EX\u TRACKSELECT
extended stye?from:在列表视图控件中启用热跟踪选择。热跟踪选择意味着当光标停留在某个项目上一段时间后,该项目将被自动选择。可以使用LVM_SETHOVERTIME消息从默认系统设置更改延迟。此样式适用于列表视图控件的所有样式。您可以通过调用SystemParametersInfo来检查热轨选择是否已启用。谢谢@VladFeinstein,不,我们不使用
LVS\u EX\u TRACKSELECT
扩展样式。奇怪的是,这种行为仅在SHIFT+MouseWheel\u UP上出现,而不是在SHIFT+MouseWheel\u Down上出现。您有
LVS\u EX\u TRACKSELECT
扩展样式吗?from:在列表视图控件中启用热跟踪选择。热跟踪选择意味着当光标停留在某个项目上一段时间后,该项目将被自动选择。可以使用LVM_SETHOVERTIME消息从默认系统设置更改延迟。此样式适用于列表视图控件的所有样式。您可以通过调用SystemParametersInfo来检查是否启用了热轨迹选择。谢谢@VladFeinstein,不,我们不使用
LVS_EX_TRACKSELECT
扩展样式。奇怪的是,这种行为仅在SHIFT+MouseWheel\u UP上出现,而不是在SHIFT+MouseWheel\u DOWN上出现