(vb.net)リッチテキストボックスへのドラッグアンドドロ...

こん@@は、どうしても出来なくて困ってます。

vb.netにおいて、リッチテキストボックスへのドラッグアンドドロップで、ファイルそのものを貼り付けたいのですが、どうしても出来ません。
ワードパッドや、outlookの文字入力部分にファイルをドラッグしたらアイコン状態でファイルが張り付きますよね?
このような動作をvb.netのRichTextBoxにて実装したいのです。(ダブルクリックしたらそのファイルを開けれる状態で貼り付けたい)

vb6.0だとRichTextBoxを作成するだけでその辺のことは最初から出来るのですが、vb.netだとうまく行きません。

現状AllowDropとかはTrueにもちろんしています。
MSDN Library 等調べてもtextやビットマップを貼り付けると言うような情報しか得られませんでした。

どなたか、わかる方がいらっしゃいましたら教えてください。
お願いします。

投稿日時 - 2004-08-05 11:32:06

QNo.951600

困ってます

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

WindowsフォームのRichTextBoxコントロールはOLEオブジェクトの埋め込みには対応していないので、残念ながらお望みのことはできません。

もしVB6をお持ちなのでしたら、VB6のRichTextBoxコントロールをVB.NETで使うことによって、VB6でやっていたのと同じように、OLEオブジェクトの埋め込みができます。

手順はこんな感じです。

1. VB6のRichTextBoxコントロール(RichTx32.ocx)を、VB.NETのマシンにコピーして、Regsvr32.exe を使って登録する。
2. VB.NETを起動して、ツールボックスの上で右クリックして、"アイテムの追加と削除"を選択
3. [ツールボックスのカスタマイズ]ダイアログの"COMコンポーネント"のところに"Microsoft Rich Textbox Control"が追加されているので、チェックを入れて、OKボタンをクリック

上記の手順で、VB6のRichTextBoxコントロールがVB.NETのツールボックスに追加されます。あとはふつうにフォームに貼り付けてプログラミングしてください。
なお、VB6とVB.NETが共存しているマシンでしたら1の手順は要りません。

投稿日時 - 2004-08-05 19:13:13

お礼

ありがとうござます、上記方法でドラッグによるファイル貼り付けが出来るようになりました。
[RichTx32.ocx]は以前VB6を入れていたためか解りませんが、既に[\\system32]内にありましたので、それを利用いたしました。
6.0 → .netの乗り換えで今まで出来ていたことが、普通に出来なくなってたりして、互換性がいまいと言う気がするのですが、その辺ってMSさんはどう考えてるのでしょうね?(駄文)

とにかくありがとうございました。
VB6のRichTextBoxコントロールを使用することによって、コンテキストメニュー部分の記述等今までのままではどうもダメみたいですが....(記述方法の違いがぁ....)
続けてプログラミングしていきたいと思います。

投稿日時 - 2004-08-06 15:47:47

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(0)

あなたにおすすめの質問

MSN恋人探し

MSN恋愛・結婚

数字が教える恋愛常識

数字が教える恋愛常識

恋人には言えない秘密ってある?

[PR] お役立ち情報