ListViewコントロールでListBoxで言う「LBN_SELCHANGE」に相当するメッセージを取得するには?

解決


どら  2007-10-16 02:22:05  No: 66575

いつもお世話になっています。

リストボックスでは、ボックス内の選択項目が変更になったとき、プロシージャで
LBN_SELCHANGEが送信されますよね?

これと同じことをリストビューコントロールで行いたいのですが、調べて見たら、
リストビューには「LVN_SELCHANGE」みたいなメッセージがないみたいです。

選択されたアイテムが変更されたときに何か処理をしたい場合、皆さんはどのよう
にステータスを取得されていますか?

もし、メッセージでこのようなものが無ければ例えば
   1.グローバル変数で、現在選択されているリストビューのID格納変数を宣言
   2.ダイアログプロシージャ内で、ListView_GetNextItemで、選択されたアイテ
     ムのIDを取得
   3.1と比較し、異なっていたら
      3-1.行いたい処理を実行
      3-2.1=2で取得したIDに変更

という処理方法を検討していますが、何か問題はありますでしょうか(複数項目の
同時選択はできない設定が前提です)?

よい方法や、参考になるサイトなどがありましたらご教授いただけると幸いです。

ちなみに、開発環境はWindows XP Pro SP2 + VS.NET2003 Ent(SDK)です。
よろしくおねがいいたします。


subaru  2007-10-16 03:04:58  No: 66576

WM_NOTIFYにLVN_ITEMCHANGEDが送られるはずです。


どら  2007-10-16 20:50:39  No: 66577

subaruさん、ありがとうございます!!
そうだったのですね、早速試してみます!!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加