連続の質問で失礼します。
リストビューで行選択時のイベントを取りたく、
OnItemchangedイベントを設定したのですが、
行選択を行うと「3」回呼ばれてるようです。
(ブレーク張ったら3回呼ばれてました。)
イベント内にある、NM_LISTVIEW* pNMListViewの
中身が変化していましたが、MSDNにはこの構造体の
中身の説明が見当たりません。(探し方が悪い?)
3回呼ばれるのが正常なのかもわかりませんが、
行選択時のイベントそのものと選択行の中身を
取得したいです。
宜しくお願いします。
VC6.0/MFCです。
NMLISTVIEW が該当します。
#ウィザードの自動生成コードは、
#大昔に作られたものをそのまま使っているため、
#旧式の名前や流儀がいくつか残っています。
ItemChangeイベントは、選択の変化ではなく、
状態の変化を通知するものですので、
選択が切り替わったことに伴う状態変化の数だけ呼ばれます。
細かいことは構造体のメンバを調べてみれば分かると思います。
MSDNを見る限りでは、NM_LISTVIEW*は、NMLISTVIEW構造体へのポインタで、
内部の項目に関しては、LVITEM構造体なんかを参照すればわかるのではないでしょうか。
アイテムの状態が変わるたびに通知されるようなので
LVIS_FOCUSEDとかLVIS_SELECTEDと言った状態の変化が逐一通知されているのはないですか?
英語で表記されている箇所もありますが、一つ一つ読み下していけば情報が得られるはず
なので
そこは地道に努力するしかないと思います。
英語のドキュメントしかなければ、辞書を片手にでも読んでいかないと仕方がないです。
何も本職の訳者の様な和訳が必要なわけでもありませんし、文章の意味が取れれば十分だと
思いますよ。
ありがとうございます。
英語版のヘルプは見つけることが出来ましたので、
辞書片手にやってみようと思います。
ありがとうございました。