Article View: fj.lang.visualbasic
Article #153Re: OLE Drag & Drop を手動で?
From: AKIYA Saburou
Date: Sat, 11 Apr 1998 00:00
Date: Sat, 11 Apr 1998 00:00
43 lines
2459 bytes
2459 bytes
穐谷(あきや)です。 aki wrote in article <352e2f29.0@epnews.speed.co.jp>... > テキストボックスでテキストをOLE Drag & Dropしたいと思っています。 > 設定を自動にすると、とりあえずコーディングなしで実現できますが > データの受け入れ時の制御等でもう少し柔軟にしたいと思います > ので手動設定でなんとか実現したいのですがどのような手順を踏め > ば良いのでしょうか?もしよろしければヒントだけでもお願いします。 簡単な説明になりますが、 ドロップされたものを受け取る場合は、まず、 OLEDragOverイベントでData.GetFormatをチェックして、Effectを設定 します。例えば、テキストだったら If Data.GetFormat(vbCFText) Then Effect = vbDropEffectCopy End If そして、OLEDragDropイベントで、データーを取得します。 Text1.Text = Data.GetData(vbCFText) ドラッグの素(ソース)になる場合は、 MouseDownイベントで、OLEDragメソッドを呼出し、 OLEStartDragイベントで、フォーマットを入れます。この段階で 中身を入れてもいいですが、普通は別のイベントで設定します。 Call Data.SetData(, vbCFText) '入れない場合。 Call Data.SetData(Text1.Text, vbCFText) '入れる場合。 そして、OLEGiveFeedbackイベントでマウスの状態を管理します。 ドロップされると、もし中身が設定されていないのならば、 OLESetDataイベントが発生します。普通はここで設定します。 Call Data.SetData(Text1.Text, vbCFText) そして、最後にOLECompleteDragイベントで後始末をします。 これは、ドロップの有無に関わらず発生します。 玉城さんのホームページ Visual Basic増強作戦 http://www.vector.co.jp/authors/VA010786/ にも、サンプルがあったと思います。そちらをご覧ください。 そういえば、今月発売されたVBMagazineにも書いてあったと思います。 ------------------------------------------------------------ 差出人: 穐谷 三郎 E-Mail: akiya@cmpk.or.jp
Technical Details
Message-ID:
<6gmq8p$e25@rorty.mim.co.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<352e2f29.0@epnews.speed.co.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 105c2e,662db3165f7b4405 X-Google-Attributes: gid105c2e,public From: AKIYA Saburou <akiya@cmpk.or.jp> Subject: Re: OLE Drag & Drop を手動で? Date: 1998/04/11 Message-ID: <6gmq8p$e25@rorty.mim.co.jp> X-Deja-AN: 342981369 References: <352e2f29.0@epnews.speed.co.jp> Content-Type: text/plain; charset=iso-2022-jp Organization: CompKazumi Internet Service Mime-Version: 1.0 Newsgroups: fj.lang.visualbasic