掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CListCtrl の SortItems + FindItem でエラー (ID:62398)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
CListCtrl::SortItems() で列のソートを行おうとしているのですが、 CListCtrl::FindItem() が -1 を返す場合がありうまくソートされません。 色々検索した所、http://www.hey-to.net/ML-archive/vcppML/1999/msg10563.html と同じ現象だと思うのですが、ここでは解決されておらず困っています。 原因や対策など分かる方がいらっしゃいましたら教えてください。 開発環境: Visual C++ 6.0 Windows XP 条件: ・サブアイテムは無い。 プログラム抜粋: int CALLBACK MyListCtrl::CompareItem( LPARAM item1, LPARAM item2, CompParamType *comp_param) { // 比較するアイテムを検索する MyListCtrl *list = comp_param->list; LV_FINDINFO find_info; find_info.flags = LVFI_PARAM; find_info.lParam = item1; int item1_index = list->FindItem(&find_info, -1); find_info.lParam = item2; int item2_index = list->FindItem(&find_info, -1); // テキストを比較する CString text1 = list->GetItemText(item1_index, comp_param->column); CString text2 = list->GetItemText(item2_index, comp_param->column); if ( comp_param->order == ORDER_ASCENDING ) { return text1.CompareNoCase(text2); } else { return text2.CompareNoCase(text1); } }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.