アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

リストインデックス = リストボックス.TopIndex + マウスY座標 \ リストボックスの項目の高さ(9ptフォントで180ぐらい?)

A 回答 (2件)

リストボックスの項目の高さ


=Screen.TwipsPerPixelY * _
SendMessage(List1.hwnd, LB_GETITEMHEIGHT, 0, vbNullString)

参考URLのdraglist?.zipにサンプルがあります

参考URL:http://www.vb-helper.com/HowTo/ 
    • good
    • 0
この回答へのお礼

ありがとうございます。

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

http://www.vb-helper.com/howto.htm

お礼日時:2001/10/15 16:14

参考URLが答になっていると思います。


WindowsAPIを使ったりして、あまりスマートとは思いませんが…

参考URL:http://www.microsoft.com/japan/support/kb/articl …
    • good
    • 0
この回答へのお礼

ありがとうございます。

Knowledge Base…基本ですね。
最初から検索すべきでした。

お礼日時:2001/10/15 16:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!