「お昼の放送」の思い出

C++で詳細表示のリストビューを扱うプログラムを書いているのですが
あるボタンを押すと選択した項目が上や下に移動するようにしたいんです
そのためには選択した項目とその上下の項目を入れ替えたらいいと思うのですが
やり方がわかりません
ListView_SortItemsマクロを使ってみましたが、ある二つの項目だけを入れ替えるのは
できなさそうです。
MFCを使わない方法があればうれしいです

A 回答 (2件)

ちょっと面倒だとは思いますが、LVM_GETITEM で入れ替え対象の行の情報を取得して、LVM_SETITEM で入れ替えてセットするくらいしかないんじゃないでしょうか。



いっそのこと Virtual ListView にしておくと、入れ替えは楽かもしれないですね。
http://msdn.microsoft.com/en-us/library/bb774736 …
    • good
    • 0
この回答へのお礼

やはりその方法しかありませんでしたか
大変だったけどListView_GetItemとListView_SetItemで行を入れ替え
選択状態も入れ替える関数を作れました
ありがとうございます

お礼日時:2011/03/23 22:53

あまり手間は変わらないかもしれませんが、


(1) 移動する行を GetItem で情報取得
(2) (1)の行を削除
(3) (1)で取得した内容を移動先の行にInsert
という手もありましたね…。
    • good
    • 0
この回答へのお礼

またアドバイスありがとうございます
一応確実な前の方法を使いたいと思います

お礼日時:2011/03/31 20:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報