2回目の投稿となります。
やりたいことは、
エクスプローラ → (ドラッグ&ドロップ) → 作成したアプリケーション
です。
逆の操作はよくネット上でも解説をよく目にするのですが、
この操作は探し出せませんでした。
よろしくお願いします。
環境は、
Windos2000
Delphi6.0 Personal
です。
ごめんなさい。
逆でした。
作成したアプリケーション → (ドラッグ&ドロップ) → エクスプローラ
(TFileListBox)
です。
掲示板から削除ってできないんですか?
せめて命題の変更を!!
んー、難しそうですね…。"できないことはない"とだけいっておきます。
"ファイルをつかませればいい"んですけど、これってヒントになるかな…。
擬似的にマウスキャプチャして、カーソルをかえて…ってこともできますけど、汎用性はなさそうですね。
ここに
http://www.kcat.zaq.ne.jp/takao/
TarCtrlsというコンポーネント群があり、中に
TOleDropSource
というものがあります。
これはもしかしたら、目的の動作に使えるのではないでしょうか?
BCB専用ですけど、DelphianWorldにDelphi訳があったような気がします。
お返事ありがとうございます。
やっぱり難しいですか…妥協する方法はたくさんあるんですけど、できれば実現させたいです。
「ファイルをつかむ」ことはできるんですけど、「つかませる」のはなんとも。
まだまだ探してみますね。
動作的には、たとえば圧縮解凍ソフトのように、自分のアプリケーションにあるファイル一覧から、エクスプローラにドラッグ、でしょうか。
たかみちえさんの紹介しているサイトに、OleDnD というものがあります。
これは、TarCtrlsのうちの、Ole Drag & Dropに関するコンポーネントをDelphi用に書き下ろしたもののようです。
この中に、TFileDropSourceコンポーネントという、まさにそのために使うコンポーネントがありますよ。
逆を行いたい場合(エクスプローラからアプリケーションにドラッグしたい場合)は、TFileDropTargetを使用します。
OleDnDさっそく入手しました。
さっそく使ってみます。
Helpがないのが私には辛いのですが、
これも勉強だと思い試行錯誤しながら使ってみます。
有名どころですが、Torry's Delphi Pageで紹介されている
DragDropコンポーネントが非常に強力です。サンプルもある
ので、使い方も簡単にマスターできます。
http://www.torry.net/draganddrop.htm
もし、ヘルプがないので難しいということならば、こちらも
試してみては?
OleDnDの使い方は簡単です。
ドラッグもとのコントロールを指定して(ここで指定したコントロールをドラッグするとファイルをドラッグしたことになる)、Directoryプロパティにファイルのパスを、Filesプロパティにファイル名を設定してやれば、あとは自動です。
FilesプロパティはTStringsなので、複数ファイルも可能です。ただし、同ディレクトリ内のファイルのみです。
そうせいじさん御助言ありがとうございます。
私、英語できませんので少し厳しかったです。
先日、にしのさんに教えて頂いたOleDnDを使用させていただきました。
なんとか目的の機能も実現できました。
世の中にはすごい人がいるものです。
ソースを拝見したのですが、途中で妥協しました。
目標ではありますが、少しずつ勉強していこうと思っています。
また、ご迷惑をかけるかもしれませんがその時はどうぞよろしくお願いしますね。
それでは、たかみちえさん、そうせいじさん、にしのさん、ありがとうございました。
ツイート | ![]() |