ListViewの選択が変更されたときは、どのようなメッセージが送られてくるのでしょうか?
ComboBoxと、ListBoxの場合はSelChangeでしたが、ListViewは何を使えばいいのでしょう?
ListViewの選択が変更されたとき
ListViewの選択が変更されたとき
===============================
MyHomePage;; raiden.no.land.to/
===============================
MyHomePage;; raiden.no.land.to/
===============================
インターネットで検索してみたら参考になりそうな投稿を発見しました。
以下引用です。
以下引用です。
[ここをクリックすると内容が表示されます]
06949
ListViewでアイテム選択の変更を知りたい
2002 11/22 11:41
PaJaMa
こんにちはPaJaMaです。
リストボックスの選択変更を知るのに
LBN_SELCHANGEといメッセージがありますが、
リストビューでアイテムの選択状況が変更された際
それを知るためにはどうすればいいのでしょうか?
リストビューがクリックされたタイミングで選択状況を
再取得するように作成中ですが
この方法だとキー操作で選択された場合取得できないと思います…
なにか良い方法があるようでしたら御教授願います。
2002 11/22 14:41
codama
親にWM_NOTIFYが届きます。
メッセージはLVN_****という感じです。
どんなメッセージがあるかはヘルプで調べてください。
2002 11/23 07:05
PaJaMa
ええと、LVN_****が届くのは知っています。
LVN_****に目的の用途に使えるメッセージがないと思ったので質問しました。
例えばLVN_SELCHANGEなんてメッセージがあれば文句なしなんですけど
無い様なので現在はNM_CLICK時に
GetFirstSelectedItemPositionやGetNextSelectedItemを使用しています。
これだとキー操作で選択状況を変更したときにNM_CLICKは発生しないので
質問したのです。
LVN_KEYDOWNとNM_CLICKの両方に対応するだけでいいのかな?
それともHDN_ITEMCLICKを見たほうがいいのかな…
2002 11/23 14:26
豊田芳彰
> LVN_****に目的の用途に使えるメッセージがないと思ったので質問しました
ありますよ。
LVN_**** というメッセージの MSDN の説明を全て一通り目を通してみればいいと思いますが。
たいした数ではないですし。
MSDN 目次より
[MSDN ライブラリ Visual Studio 6.0]
[プラットフォーム SDK]
[Platform SDK]
[User Interface Services]
[Shell and Common Controls]
[Common Controls]
- とりあえず調べ方のヒントを出しておくと、
「選択状況が変更された際」というようなメッセージが見つからなければ、
次は「選択状況」と「変更された」というのを分けて考えます。
「選択状況」に関わるメッセージは何かないか?
選択状況に関係なく「何かか変更された時」に関わるメッセージは何かないか?
もしかしたら、選択状況に関わるメッセージのパラメータに、
変更されたという情報もパックされているかもしれませんし、
何かか変更された時に関わるメッセージのパラメータに、
選択状況の情報もまとめてパックされているかもしれませんから。