MFC 怎样在列表控件里 实现鼠标单击拖动选择多行数据

MFC  怎样在列表控件里 实现鼠标单击拖动选择多行数据

问题描述:

具体描述就是题目上的,
在列表里鼠标在任意位置单击拖动选择的范围就是选择了多少行数据。
路过的,有什么好的想法?
谢谢回答。

设置下LVS_EX_FULLROWSELECT和LVS_EX_GRIDLINES,全行选择+网格线
图片说明

你可以在拖放开始的时候hittest开始的那个点,如果是LVHT_EX_ONCONTENTS指定的文字或图标区域那么在放开鼠标时移动选中的项。否则在放开鼠标时让鼠标经过的行被选中。这样用户真要拖放选择的话,从留白(文字不是总是填满整个列的宽度,列也不总是填满列表的宽度)开始拖放就行了。