Verantwortlichkeiten für das Ziehen der Quelle
Die Ziehquelle ist für die folgenden Aufgaben verantwortlich:
- Bereitstellen eines Datenübertragungsobjekts für das Drop-Ziel, das die IDataObject- und IDropSource- Schnittstellen verfügbar macht.
- Generieren von Zeiger- und Quellfeedback.
- Bestimmen, wann der Ziehvorgang abgebrochen wurde oder ein Ablagevorgang aufgetreten ist.
- Ausführen einer Aktion für die ursprünglichen Daten, die durch den Ablagevorgang verursacht werden, z. B. Löschen der Daten oder Erstellen eines Links zu den Daten.
Die Hauptaufgabe besteht darin, ein Datenübertragungsobjekt zu erstellen, das die IDataObject- und IDropSource- Schnittstellen verfügbar macht. Die Ziehquelle enthält möglicherweise eine Kopie der ausgewählten Daten. Das Einschließen ist nicht obligatorisch, schützt jedoch vor versehentlichen Änderungen und ermöglicht es dem Code für Zwischenablagevorgänge, mit dem Zieh- und Ablagecode identisch zu sein.
Während ein Ziehvorgang ausgeführt wird, ist die Ziehquelle dafür verantwortlich, den Mauszeiger festzulegen und gegebenenfalls zusätzliches Quellfeedback für den Benutzer bereitzustellen. Die Ziehquelle kann kein Feedback bereitstellen, das die Mausposition nicht nachverfolgt, als den tatsächlichen Zeiger festzulegen (siehe SetCursor-funktion). Diese Regel muss erzwungen werden, um Konflikte mit dem Feedback des Dropziels zu vermeiden. (Eine Ziehquelle kann auch ein Dropziel sein. Wenn sie auf sich selbst ablegen, kann die Quelle/das Ziel natürlich Zielfeedback bereitstellen, um die Mausposition nachzuverfolgen. In diesem Fall ist es jedoch das Dropziel, das die Maus verfolgt, nicht die Quelle.) Basierend auf dem Feedback des Dropziels legt die Quelle einen geeigneten Zeiger fest.
Verwandte Themen