リストボックスなどにファイル/フォルダをドラッグ・ドロップしたとき、
そのファイル/フォルダのパスを取得するにはどうすればよいのでしょうか。
OLE…って言うイベントがどのコントロールにもあると思います。
この中のOLEDragDropのDataObjectの中に、ファイルパスが入っているということだったような…。
For Eachで取り出す…。はずですけど、よくおぼえてないです。ごめんなさい^^;
でも、これらのうちなにかでインターネットを検索してみれば、
何か見つかるかも。
あと、その前に、OLEDropModeプロパティを手動にしないとだめです。
えーっと、くわしくは、VBをインストールしたときについてくる(なければMSDNライブラリのCDからだったか持ってこれます)サンプルに、
のっていたと思うので、よければ探してみてください。
フォームにリストボックス貼っ付けて
下のコードをコピペしてみて下さい。
Private Sub Form_Load()
List1.OLEDropMode = 1
End Sub
Private Sub List1_OLEDragDrop(Data As DataObject, _
Effect As Long, Button As Integer, Shift As Integer, _
X As Single, Y As Single)
List1.AddItem Data.Files.Item(1)
MsgBox (Data.Files.Item(1))
End Sub
回答ありがとうございます。
OLEはわかっていたのですが、Dataの使い方がさっぱりわからなかった始末です。
MSDNが行方不明なので、VB5のサンプルを参照すればよかった、
手間をかけて申し訳ありません。
ツイート | ![]() |