• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リストビューでNM_CLICKを受け取った時のINDEX取得)

リストビューでNM_CLICKを受け取った時のINDEX取得

このQ&Aのポイント
  • VC++6.0 SDKのLISTVIEWでNM_CLICKを受け取った時のINDEXを取得する方法を教えてください。
  • 現在のソースではインデントが無効になってしまい、見やすくないので修正したいです。
  • クリックした位置の名前とチェック状態を取得し、INIファイルに書き込む処理を行っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.4

>Spy++試してみます。 >なんかおもしろそうなソフトですけど、よく使われるものなんでしょうか? ウィンドウの情報を得るんでしたら必須ですね。ぜひ使いこなしてください。 これを使えば表示、非表示にかかわらずすべての起動中のウィンドウに対して調査を行うことが出来ます。 よく使うところですとウィンドウメッセージの受信内容の取得やウィンドウクラス名の取得、ダイアログのコントロールIDの確認なんかですかね。 取得可能な情報はこれだけじゃなく、ウィンドウに関する情報はほぼ全部取れます。

その他の回答 (3)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.3

>LVN_COLUMNCLICKもLVN系全てメッセージを捕まえれません。 >DialogBox関数で指定したプロシージャでなく更にサブクラス化しなければいけないのでしょうか?  そういう時は、Spy++で確認しましょう。

yruri
質問者

補足

Spy++試してみます。 なんかおもしろそうなソフトですけど、よく使われるものなんでしょうか?

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

>http://home.a03.itscom.net/tsuzu/programing/tips16.htm >を参考にして 参考にしたところが間違ってますね。 ドラッグリスト用のAPIです。 http://www.kumei.ne.jp/c_lang/sdk3/sdk_215.htm #"LB"なんですから。"LV"じゃないですよね? >その時のソースから流用したためNM_CLICKになっているのだと思います。 ということでしたら、この際LVN_COLUMNCLICKにしちゃいましょう。何も問題なくカラム情報を取得できます。

yruri
質問者

補足

LVN_COLUMNCLICKもLVN系全てメッセージを捕まえれません。 DialogBox関数で指定したプロシージャでなく更にサブクラス化しなければいけないのでしょうか?  ありがとうございます、試しに親プロシージャでWM_NOTIFYを引っ掛けてみます。

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

LVN_COLUMNCLICKではなく、なぜNM_CLICKを使用するのでしょうか? 特別な理由があるのでしたらしょうがないですけど。 あと、LBItemFromPtってリストボックスのAPIじゃなくて?

yruri
質問者

補足

http://home.a03.itscom.net/tsuzu/programing/tips16.htm を参考にして LBItemFromPt ListView_HitTest を試しましたがreturnは-1になってしまいます。 以前に一度自分で質問の内容と同じものを作ったことがあり、 その時のソースから流用したためNM_CLICKになっているのだと思います。 うろ覚えですがそのときにListViewからComboBoxの項目を選択状態にするという仕様と ComboBoxからListViewを選択状態にしたうえでさらにクリックするというのを作りました。 他にもいろいろ仕様がありそうしました。 結局動作が鈍くその部分のソースは書き捨ててしまいました。 ただ今回はDialogBoxマクロのプロシージャ内でやってるのが関係しているのかできないです。

関連するQ&A