【发布时间】:2013-03-16 09:46:37
【问题描述】:
我在 Windows 上的 MSVC 2012 下使用 C++。我使用的是带对话框的纯 Win32,没有 MFC。
我有一个给定项目的 LVITEM 结构。我想更改给定 ListView 上项目的索引,以便我可以重新排序项目的位置。 .iItem 属性本质上是我要更改的,但是,我不知道如何使更改反映在列表视图中。
如果可能,我希望 ListView 自动将项目移动到我移动项目的下方,而不是覆盖新位置中的现有项目。
【问题讨论】:
-
您是在谈论 ListView 何时处于报告(详细信息)模式,还是其中一种图标视图?
-
报告/详细视图:)
-
我认为不可能通过更改它们的索引来移动它们。没有
LVM_SETITEMINFO消息或类似的东西。 (好吧,有LVM_SETITEM,但这不能更改索引,因为它使用它来识别项目。)我见过的唯一方法是从当前位置删除项目,然后重新插入它进入新的位置。希望其他人知道我不知道的事情! -
唉,据我所知,这会破坏子项,我需要保留子项:(