ソースの責任をドラッグする
ドラッグ ソースは、次のタスクを担当します。
- IDataObject および IDropSourceインターフェイスを公開するドロップ ターゲットのデータ転送オブジェクト提供します。
- ポインターとソースフィードバックの生成。
- ドラッグ操作が取り消されたか、ドロップ操作が発生したかを判断します。
- 削除操作によって発生した元のデータに対して、データの削除やリンクの作成などのアクションを実行します。
主なタスクは、IDataObject を公開し、IDropSourceインターフェイスをするデータ転送オブジェクトを作成することです。 ドラッグ ソースには、選択したデータのコピーが含まれている場合と含まれていない場合があります。 インクルードは必須ではありませんが、誤った変更から保護し、クリップボード操作コードをドラッグ アンド ドロップ コードと同じにすることができます。
ドラッグ操作の実行中、ドラッグ ソースはマウス ポインターを設定し、必要に応じてユーザーに追加のソース フィードバックを提供します。 ドラッグ ソースは、実際に実際のポインターを設定する以外にマウスの位置を追跡するフィードバックを提供できません (setCursor関数参照)。 ドロップ ターゲットによって提供されるフィードバックとの競合を回避するには、この規則を適用する必要があります。 (ドラッグ ソースはドロップ ターゲットにすることもできます。それ自体をドロップすると、ソース/ターゲットは、もちろん、マウスの位置を追跡するためのターゲット フィードバックを提供できます。ただし、この場合は、ソースではなく、マウスを追跡するドロップ ターゲットです)。ドロップ ターゲットによって提供されるフィードバックに基づいて、ソースは適切なポインターを設定します。
関連トピック