dポイントプレゼントキャンペーン実施中!

リストビューのカラムをクリックすると、落ちてしまいます。
やりたい事は、カラムをクリックするとソートするようにしたいです。
下記の(8)でLV_ITEM構造体のポインタを取得した時に
メンバlParamの値は空のまま(0)の為?
落ちてしまうのです。
どのようにしたら、値を取得できるのでしょうか??

一部ですが、問題のあるところだけ下記に明記します。
#説明上、番号を振りました。
#下記の処理は、CListCtrlクラスを継承したCxxxxクラスの関数です。
************(ここから)******************
(1)LV_ITEM lvItem;
(2)int iTemNo;

(3)for(int i = 0; i < this->GetItemCount(); i++)
(4){
(5) lvItem.iItem = i;
(6) lvItem.iSubItem = 0;
(7) lvItem.mask = LVIF_PARAM;
(8) this->GetItem(&lvItem);
(9) LPITEMPARAM lpItemParam = (LPITEMPARAM)lvItem.lParam;
(10) iTemNo = i;
(11) this->SetItem(&lvItem);
(12)}
************(ここまで)******************

環境は、Win98、MFCで作成しています。

(8)ではGetItemの戻り値で確認したら、
正常に構造体を取得できているかと思うのですが、
lParamの値は、空なんです・・・・。
また、他に必要な情報は、ございますでしょうか?
よろしくお願いします。

A 回答 (1件)

参考になりますかねぇ。

因みに私はとっても参考になりましたけど。

参考URLから「MFCトピック集」→「リストビュー(リストコントロール)」へ。
それとlParam値を設定してアイテムを追加していると思いますが、
CListCtrlクラス中なら<this>というのは必要なのですか?

下記サイトに多くのサンプルがありますので、参考にしてみてはどうでしょうか?
http://www.codeproject.com/

参考URL:http://www.athomejp.com/goldfish/
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
違う方法で実現させました。
今回、問題のあった箇所(8)をコメントアウトしました。
必要ない処理?のようでした。
ただ、とりあえず動作させた程度なので、
バグはないにしろ、自分的にはリストビューのアイテムを
構造体のポインタに保存させたあと、
比較関数で取り出して使いたかったのですが、、、。

教えて頂いた所は、知ってる限りでは、
かなり丁寧で見やすい所だったと思います。

ありがとうございました。

お礼日時:2002/11/11 22:24

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