CListCtrl アイテム名でソート – プログラミング – Home

CListCtrl アイテム名でソート
 
通知
すべてクリア

CListCtrl アイテム名でソート


kumo
 kumo
(@kumo)
ゲスト
結合: 22年前
投稿: 14
Topic starter  

CListCtrlのことなのですが
親ウィンドウのOnCreateで下記のように作成しています。

m_ListCtrl.Create(LVS_ICON | LVS_ALIGNTOP | LVS_SORTASCENDING | LVS_AUTOARRANGE
| LVS_SHAREIMAGELISTS, rect, this, ID_LISTVIEW);

アイテム名で昇順にソートするスタイルを指定しています。
そしてアイテムを

m_ListCtrl.InsertItem(0, bbb, 0);
m_ListCtrl.InsertItem(0, ccc, 0);
m_ListCtrl.InsertItem(0, aaa, 0);

と追加しました。
aaa bbb ccc
と昇順にソートされて表示されました。ここまでは意図通りです。

そして

m_ListCtrl.SetItemText(0, 0, ddd);

とaaaのアイテム名をdddに変えてみたところ
ddd bbb ccc
となりました。ソートされてません。

m_ListCtrl.Update(0);
m_ListCtrl.Arrange(LVA_DEFAULT);
m_ListCtrl.Invalidate();

などとやってみましたが変化なしです。
どうやったらソートしてくれるのでしょうか?


引用解決済
トピックタグ
kumo
 kumo
(@kumo)
ゲスト
結合: 22年前
投稿: 14
Topic starter  

VC++ 6.0 SP5 MFC
Windows2000 SP4

忘れてました。


返信引用
kumo
 kumo
(@kumo)
ゲスト
結合: 22年前
投稿: 14
Topic starter  

CListCtrl::RedrawItemsってのを見つけたので

m_ListCtrl.RedrawItems(0, m_ListCtrl.GetItemCount() - 1);

とやってみましたが変化なしでした・・・
もしかして LVS_SORTASCENDING はInsertItemのときしかソートしてくれないのでしょうか?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました