• ベストアンサー

ドラッグ&ドロップからの取得

VBで作ったソフトのアイコンにテキストファイルをドラッグ&ドロップするだけでVBの中のTextboxにテキストファイルの内容を表示させたいのですがその方法が分かりません…。 やはりWindowsのAPIとかいうのを使うのでしょうか? どなたか分かる方おられたら方法を教えて下さい。 お願いします。

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

  • ベストアンサー
  • Ulrika
  • ベストアンサー率45% (59/129)
回答No.2

ドラッグ&ドロップされたファイル名はCommandで取れます。 最初に開く画面のForm_Loadに以下のようなことを書けばいいと思います。 If Command <> "" Then テキストボックスに展開 End If 個人的にはテキストボックスよりもリッチテキストのほうをオススメします。 テキストボックスは表示可能文字数が少なかったような記憶が…。 ちなみにリッチテキストだと  RichTextBox1.LoadFile ファイル名 とか  RichTextBox1.FileName = Command といった記述が可能で楽です。コントロールボックスのコンポーネントで 「Microsoft Rich Textbox Control」を探してみては。

ryuji0202
質問者

お礼

本当に分かりやすい説明ありがとうございました。 Commandで受け取れるなんて知らず、本当に勉強になりました。 RichTextBoxのことについても調べてみたいと思います。 本当にありがとうございました。

その他の回答 (1)

noname#191236
noname#191236
回答No.1

的外れな回答でしたらすみません。(^_^; 以下、参考URLです。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=116733 あとは、普通にOpenするだけですね。 それでは。m(_ _)m

ryuji0202
質問者

お礼

早速の回答ありがとうございました。 以前にも似たような質問がされていたんですね(^^;) 参考にします。

関連するQ&A

  • VB6でのドラッグ&ドロップについてです

    VB6でのことなんですが、リネームツールを作ろうと思って色々やってるのですが、うまくいきません。 フォルダをドラッグ&ドロップをして、 text1にフォルダの中のファイル名を表示して、text2にファイル名をコピーしてリネーム、というようなものを作りたいと考えています。 フォルダをドラッグ&ドロップして表示されるのが、そのフォルダのフルパスになってしまいます。 ドラッグ&ドロップしたフォルダの中のファイル名だけを表示する方法はどうすればいいのでしょうか? よろしくお願いします。

  • ドラッグ&ドロップについて

    初歩的なことを教えて下さい。 VB6を使用してドラッグ&ドロップの処理を作成したいのですが、どのように行ったら良いのか分かりません。 内容は、フォーム上にある一つのアイコン(ピクチャーボックスなど)を、同フォームの別の領域に、ドラッグ&ドロップで追加させて表示させる処理となります。また、追加されたアイコンをそれぞれコード上で判別もできるのでしょうか? 宜しくお願いします。

  • 秀丸へのドラック&ドロップ

    秀丸へのドラック&ドロップができなくなってしまいました。 秀丸を開いていて、 そこに他のテキストファイルやc、c++ファイルなどを ドラック&ドロップで持っていこうとしても、 秀丸上でアイコンが禁止マーク(?)のようなものになってしまい、 ドロップできません。 突然このような状態になってしまいました。 それと同時に秀丸を起動する度ユーザーアカウント制御のダイアログが表示されるようになってしまい、 大変うざくなってしまいました。 何か設定があるのでしょうか。 情報をお持ちの方がいらっしゃいましたら、 お教え願えませんか。 よろしくお願い致します。

  • アイコンのドラッグ&ドロップができない・・・

    アイコンのドラッグ&ドロップが出来ません。。。 小画面などはできるのですが、ファイルやフォルダのアイコンのドラッグ&ドロップができません。 どなたか解決方法をご存知の方、教えて下さい。 できなくて困っています。。。

  • ドラック&ドロップでファイルが綺麗に整列しません。

    Windows XP NEC の Valuestarを使っています。 デスクトップなどから、マイミュージックフォルダにファイルをドラック&ドロップをしても綺麗にファイルが整列しません。 表示→アイコンの整列をすれば整いますが・・・ ちなみに、マイミュージックフォルダの中にあるフォルダへは、 ドラック&ドロップをしようとすると、大文字の『I』のようなマークがでて、綺麗に整列します。 これは何かの設定の問題でしょうか?

  • 【C#】ドラッグ&ドロップについて

    前にも質問したのですが、行き詰まったのでもう一度質問します。 (1)リッチテキストボックスにテキストファイルをドラッグ&ドロップする。 (2)そのテキストファイルの内容をリッチテキストボックスに表示する。 というプログラムを作っています。 このうち(1)についてはほぼ解決したのですが、(2)についてはさっぱりです。(つまり、DragDropイベントの部分がわかりません。) どなたか教えて下さい。

  • ドラッグしたファイルのパスを取得したい

    Windows2000(sp3) VisualBasic6.0(sp5) で開発しています。 テキストボックス付きのあるアプリケーションを作成し、そのアプリのテキストボックス上へ、エクスプローラーからファイルをドラッグ&ドロップすると、そのファイルのフルパスを表示する。 ということをしたいと考えています。 例 コマンドプロンプトに、エクスプローラーからファイルをドラッグ&ドロップすると、そのファイルのパス付きの名称が表示される。 良い方法をご存知の方いらっしゃいましたら教えてください。 よろしくお願いします。

  • ListViewで複数項目のドラッグ&ドロップ

    やりたいことは、エクスプローラのようなアイテムのドラッグ&ドロップです。 VB付属のリストビューをそのまま使うと、大きいアイコンで表示した時、複数選択してドラッグしても動くアイテムは、1つとなってしまいます。 複数アイテムを動かす方法を知っている方がいましたら教えてほしいのですが。 環境は、 Windows2000SP3 VisualBasic6SP5 です。

  • ドラッグ&ドロップについて

    VB.NETについて質問です。 ListViewでドラッグ&ドロップするコーディングをしているのですが、 外からListViewへのドラッグ&ドロップ(データ取り込み)、ListViewから外へのドラッグ&ドロップ(データ出力)、ListView内でのドラッグ&ドロップ(アイテム並べ替え)を区別する方法を教えて下さい。

  • 【C# 2010】 テキストへのドラック&ドロップ

    VisualStudio C#2010 Express の環境で、テキストボックスにエクスプローラからフォルダを指定(複数)して、ドラック&ドロップすると、そのフォルダのフルパスをテキストボックスへ表示させるアプリケーションを作成しております。 調べながら作成し、フォルダのフルパスをテキストボックスへ表示させられるようになったのですが、わからない点として、複数のフォルダを指定しても、テキストボックスに表示されるのは1フォルダ分のフルパスだけになってしまうという点です。 テキストボックス側のプロパティで、複数行で表示させる設定(Multiline)は有効(True)にしてありますし、ユーザーがドラックしたデータを受け入れるかの設定(AllDrop)も有効にしてあります。 その他、気づいた点として、☆ ドロップイベントの配列(pass)には指定したフォルダ分のフルパスが格納されていますが、textbox1.Text = pass[i] の部分で全てのフルパスがテキストに表示されません。 原因を考えましたが、どうしてもわからなかったので、どなたかお分かりになられる方がいらっしゃい ましたら、ご教授のほどお願いできますでしょうか? 何卒、よろしくお願いいたします。 ----------------------------------------------------------------------------- public Form1() { InitializeComponent(); this.textBox1.DragDrop += new System.Windows.Forms.DragEventHandler(this.textBox1_DragDrop); this.textBox1.DragEnter += new System.Windows.Forms.DragEventHandler(this.textBox1_DragEnter); } // ☆ ドラッグイベント private void textBox1_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.All; else e.Effect = DragDropEffects.None; } // ☆ ドロップイベント private void textBox1_DragDrop(object sender, DragEventArgs e) { string[] pass = (string[])e.Data.GetData(DataFormats.FileDrop, false); int i; for (i = 0; i < pass.Length; i++) { textBox1.Text = pass[i]; } }

専門家に質問してみよう