4D v16.3DRAG AND DROP PROPERTIES |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
DRAG AND DROP PROPERTIES
DRAG AND DROP PROPERTIES
DRAG AND DROP PROPERTIESコマンドを使用して、On Drag OverイベントやOn Dropイベントが(配列、リストボックス、階層リストなどの)“複合”オブジェクト上で発生した時の、ソースオブジェクトについての情報を取得することができます。 特に、On Drag OverイベントまたはOn Dropイベントが発生するドロップ先オブジェクトのオブジェクトメソッド(またはそこから呼び出されるサブルーチン)の内部からDRAG AND DROP PROPERTIESコマンドを使用します。 重要: フォームオブジェクトは、ドロップ可プロパティが選択されている場合にドロップされたデータを受け付けます。また、そのオブジェクトメソッドは、On Drag OverやOn Dropを処理するためにアクティブにする必要があります。 コマンドの呼び出し後:
ドラッグ&ドロップイベント以外でDRAG AND DROP PROPERTIESコマンドを呼び出すと、引数srcObjectはNILポインタを返し、srcElementは-1を、srcProcessは0を返します。 Tip: 4Dはドラッグ&ドロップのグラフィカルな部分を自動的に処理します。次に開発者は適切な方法でイベントに応答する必要があります。以下の例で は、イベントに応答してドラッグされたデータをコピーしています。別の方法として洗練されたユーザインタフェースをインプリメントできます。例えば、フ ローティングウインドウから配列要素をドラッグ&ドロップすることにより、ドロップ先ウインドウ(ドロップ先オブジェクトが存在するウインドウ) に構造化されたデータ(例: 対象配列要素によって特定されたレコードのいくつかのフィールド)を入れるような処理です。 On Drag Overイベント中にドロップ先オブジェクトがドラッグ&ドロップ処理を受け付けるかどうかをドラッグオブジェクトのタイプや性質(または他の理由)に従って判断するには、DRAG AND DROP PROPERTIESコマンドを使用します。ドラッグ&ドロップを受け付ける場合には、オブジェクトメソッドは$0:=0を返す必要があります。ドラッグ&ドロップを受け付けない場合には、オブジェクトメソッドは$0:=-1を返す必要があります。ドラッグ&ドロップを受け付けたか、拒否したかは、画面に反映されます。つまり、オブジェクトがドラッグ&ドロップ処理のドロップ先となる場合にはハイライトされ、ドロップ先にならない場合にはハイライトされません。 複数のデータベースフォームの中にスクロールエリアがあり、そのスクロールエリアのある部分から別の部分へドラッグ&ドロップするだけで要素の順 序を手作業で変えたい場合があります。それぞれの状況に応じて特定のコードを書くよりも、これらのスクロールエリアを処理する汎用プロジェクトメソッドを 作成することができます。以下のようなコードを作成できます: ` Handle self array drag and drop プロジェクトメソッド このプロジェクトメソッドを実装したら、以下のように使用できます: ` anArray スクロールエリアのオブジェクトメソッド 複数のデータベースフォームで、さまざまなソースからドラッグアンドドロップを受け付けたい入力可テキストエリアがあります。それぞれに特定のコードを書くのではなく、汎用のメソッドを書くことができます。コードは以下のようになります: ` Handle dropping to text area プロジェクトメソッド このプロジェクトメソッドを実装したら、以下のように使用できます: ` [anyTable]aTextField オブジェクトメソッド リストボックスからドラッグされたデータをテキストエリアにコピーする。 label1のオブジェクトメソッドは以下のとおりです: Case of 以下のようなアクションが可能になります:
参照
Drop position
|
プロパティ
プロダクト: 4D
履歴
変更: 4D 2004.2 ARTICLE USAGE
ランゲージリファレンス ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||