メインコンテンツまでスキップ
バージョン: 開発中

On Drag Over

コード呼び出し元定義
214D Write Pro エリア - ボタン - ボタングリッド - チェックボックス - ドロップダウンリスト - 階層リスト - 入力 - リストボックス - リストボックス列 - ピクチャーボタン - ピクチャーポップアップメニュー - プラグインエリア - 進捗インジケーター - ラジオボタン - ルーラー - スピナー - スプリッター - ステッパー - タブコントロールデータがオブジェクト上にドロップされる可能性がある

説明

On Drag Over イベントは、マウスポインターがオブジェクトの上を移動する時に、繰り返しドロップ先オブジェクトに送られます。 このイベントの応答として、開発者は通常、以下のことをおこないます:

  • ペーストボード内にあるデータや署名を (GET PASTEBOARD DATA コマンドを使用して) 取得する。
  • ペーストボードのデータの状態や型に基づき、ドラッグ&ドロップの 受け付け または 拒否 をおこないます。

ドラッグを 受け付ける には、ドロップ先のオブジェクトメソッドが 0 (ゼロ) を返さなければなりません。 ドラッグを 拒否 するには、オブジェクトメソッドが -1 (マイナス1) を返さなければなりません。 On Drag Over イベント中、4D はこのオブジェクトメソッドを関数として扱います。 結果が返されない場合には、4D はドラッグが受け付けられたものと認識します。

ドラッグを受け入れると、ドロップ先オブジェクトがハイライトされます。 ドラッグを拒否した場合、ドロップ先オブジェクトはハイライトされません。 ドラッグを受け付けることは、ドラッグされたデータがドロップ先オブジェクトに挿入されるという意味ではありません。 これは、単にマウスボタンをこの場所で離したときに、ドラッグされたデータがドロップ先オブジェクトによって受け付けられ、On Drop イベントが動くということを意味するだけです。

ドロップ可能なオブジェクトに対して開発者が On Drag Over イベントを処理しない場合には、そのオブジェクトは、ドラッグされたデータの性質やタイプに関係なく、すべてのドラッグ処理に対してハイライトされます。

On Drag Over イベントは、ドラッグ&ドロップ処理の最初の段階を制御する手段です。 ドラッグされたデータがドロップ先オブジェクトと互換性のあるタイプかどうかをテストでき、またドラッグの受け付けや拒否をできるだけでなく、4D があなたの判断に基づいてドロップ先オブジェクトをハイライト (または無反応) されるため、この操作が有効であることを操作者にフィードバックすることができます。

On Drag Over イベントはマウスの移動に従って、現在のドロップ先オブジェクトに対して繰り返し送られるため、このイベントのコード処理は短く、短時間で実行されるようにしてください。

例題

// ドロップ先のオブジェクトメソッド
#DECLARE : Integer
If(Form event code=On Drag Over)
// デフォルトで 0 を返します
...
If($DataType=Is picture)
return -1
End if
...
End if

参照

On Begin Drag Over