CListCtrlのソートをするには? – プログラミング – Home

CListCtrlのソートをするには?
 
通知
すべてクリア

[解決済] CListCtrlのソートをするには?


ようすけ
 ようすけ
(@ようすけ)
ゲスト
結合: 24年前
投稿: 1
Topic starter  

2000/06/29に「あく」さんよりCListCtrlでのソートを実現するには?
を参考に実装を進めているのですが、正しく動作してくれません。
LVITEM の mask を LVIF_TEXT | LVIF_PARAM と設定して、
LVITEM の lParam には (LPARAM)(データのクラス名)としています。
コールバック関数では 「あく」さんに対しての 「Nakamura」さんの記述どおりに
int CALLBACK CompProc(LPARAM1 lp1,LPARAM2 lp2,LPARAM lp3)
{
LV_FINDINFO lvf;
int nItem1,nItem2;
char buf1[1024],buf2[1024];

lvf.flags = LVIF_PARAM;
lvf.lParam = lParam1;
nItem1 = ListView_FindItem(m_ListHyojiSyubetu,-1,&lvf);

lvf.lParam = lParam2;
nItem2 = ListView_FindItem(m_ListHyojiSyubetu,-1,&lvf);

ListView_GetItemText(m_ListHyojiSyubetu,nItem1,(int)lParamSort,buf1,sizeof(buf1));
ListView_GetItemText(m_ListHyojiSyubetu,nItem2,(int)lParamSort,buf2,sizeof(buf2));

return strcmp(buf1,buf2);
}
としています。
しかし、トレースで調べたところ lp1 lp2 には 7353840 という値が、
nItem1,nItem2 には 0 が入っており、
当然 strcmp しても 0 となり ソートがされません。
LVITEM の lParam の設定が間違っているのでしょうか?
それとも、他に原因があるのでしょうか?
どなたか、解決方法をご存知の方がいるようでしたら、回答お願いいたします。


引用未解決
トピックタグ
ようすけ
 ようすけ
(@ようすけ)
ゲスト
結合: 24年前
投稿: 1
 

いろいろなWEB検索により解決しました。
お騒がせいたしました。

なお、私が参考にしたURLを記述しておきます。
http://search.acty-net.ne.jp/mfc_search/
キーワードを「ソート」として
[mfc 23169]を参考にしました。

同様のことで悩んでいる方、参考になさってください。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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