ClistCtrl ICON模式下,拖拽成功后,arrange后各项的索引值不会改变

ClistCtrl ICON模式下,拖拽成功后,arrange后各项的索引值不会改变,难道需要遍历然后删除插入才行吗?有没有什么好的方法。

该回答引用ChatGPT

在CListCtrl的ICON模式下,拖拽成功后,列表中的项的索引值不会自动更新。如果您想重新排列项的顺序,需要手动对其进行排序。


有几种方法可以实现重新排序,其中最简单的方法是使用CListCtrl的SortItems()函数。该函数允许您使用回调函数对列表中的项进行排序。回调函数将接收两个参数,这些参数是项的索引值。您需要比较这些项并返回它们的顺序。


另一个方法是使用CListCtrl的DeleteItem()和InsertItem()函数。您可以通过遍历列表并删除每个项,然后将它们插入到正确的位置来重新排序。


这两种方法都可以实现重新排序,但是使用SortItems()函数可能更容易实现,并且可以更快速地处理大型列表。