OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

マウス座標からリストボックスのリストインデックスを知る方法

  • 暇なときにでも
  • 質問No.151400
  • 閲覧数526
  • ありがとう数4
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 57% (4/7)

リストボックスをドラッグアンドドロップのドロップ先とするプログラムを作成しているのですが、どのリストボックス項目にドロップされたかを知る方法を教えてください。

ドロップ時にはマウス座標が渡されるのですが、この座標からリストインデックスをどのようにして求めたらよいか分からずにいます。
対象としているプログラムは、フォントサイズもリストボックスのサイズも固定ですので、以下のようなコーディングでしのげていますが、フォントサイズやリストボックスサイズが実行時に変えられても対応できるような、もっとスマートな方法はないでしょうか?

リストインデックス = リストボックス.TopIndex + マウスY座標 \ リストボックスの項目の高さ(9ptフォントで180ぐらい?)
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル13

ベストアンサー率 59% (729/1235)

リストボックスの項目の高さ
=Screen.TwipsPerPixelY * _
SendMessage(List1.hwnd, LB_GETITEMHEIGHT, 0, vbNullString)

参考URLのdraglist?.zipにサンプルがあります
お礼コメント
akym2

お礼率 57% (4/7)

ありがとうございます。

ご紹介いただいたURLは英語なのが多少つらいですが、色々参考になりそうです。
紹介いただいたURLはzipファイルの一覧でしたので、以下のURLを"お気に入り"に追加しました。

http://www.vb-helper.com/howto.htm
投稿日時 - 2001-10-15 16:14:51
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル3

ベストアンサー率 0% (0/1)

参考URLが答になっていると思います。 WindowsAPIを使ったりして、あまりスマートとは思いませんが… ...続きを読む
参考URLが答になっていると思います。
WindowsAPIを使ったりして、あまりスマートとは思いませんが…
お礼コメント
akym2

お礼率 57% (4/7)

ありがとうございます。

Knowledge Base…基本ですね。
最初から検索すべきでした。
投稿日時 - 2001-10-15 16:02:20
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ