1

Windows の MSVC 2012 で C++ を使用しています。私はダイアログ付きの純粋な Win32 を使用していますが、MFC は使用していません。

特定のアイテムの LVITEM 構造体があります。アイテムの位置を並べ替えることができるように、指定された ListView のアイテムのインデックスを変更したいと思います。プロパティは本質的に私が変更しようとしているものですが、.iItemリストビューに変更を反映させる方法がわかりません。

可能であれば、新しい位置にある既存のアイテムを上書きするのではなく、アイテムを移動した場所の下に ListView が自動的にアイテムを移動するようにしたいと思います。

4

3 に答える 3

2

リスト ビュー アイテムのインデックスは、アイテム コレクションの操作の副作用としてのみ変更されます。その前に新しいアイテム LVM_INSERITEM を挿入することで、それをインクリメントします。LVM_DELETEITEM の前にある項目を削除することで、値を減らします。最初にアイテムを削除してから、別の位置に再挿入してアイテムを移動します。または、LVITEM プロパティを交換します。

サブ項目を処理しなければならないので、これは少し面倒ですが、ネイティブの win32 コードを書くのは面倒です。これが、これを簡単にするために利用できる非常に多くのクラス ライブラリがある理由です。おすすめされた。

于 2013-03-16T11:18:54.630 に答える