Freigeben über


Ziehen von Quellverantwortungen

Die Ziehquelle ist für die folgenden Aufgaben verantwortlich:

  • Bereitstellen eines Datenübertragungsobjekts für das Dropziel, das die IDataObject - und IDropSource-Schnittstellen verfügbar macht.
  • Generieren von Zeiger- und Quellfeedback.
  • Bestimmt, wann der Ziehvorgang abgebrochen oder ein Ablagevorgang aufgetreten ist.
  • Ausführen von Aktionen für die ursprünglichen Daten, die durch den Ablagevorgang verursacht werden, z. B. Löschen der Daten oder Erstellen eines Links zu diesen Daten.

Die Standard Aufgabe besteht darin, ein Datenübertragungsobjekt zu erstellen, das die Schnittstellen IDataObject und IDropSource verfügbar macht. Die Ziehquelle kann eine Kopie der ausgewählten Daten enthalten oder nicht. Das Einschließen ist nicht obligatorisch, trägt jedoch zum Schutz vor versehentlichen Änderungen bei, und der Code für Zwischenablagevorgänge kann mit dem Drag-and-Drop-Code identisch sein.

Während eines Ziehvorgangs ist die Ziehquelle für das Festlegen des Mauszeigers und ggf. für die Bereitstellung zusätzlicher Quellfeedbacks für den Benutzer verantwortlich. Die Ziehquelle kann kein Feedback geben, das die Mausposition verfolgt, außer durch das Festlegen des tatsächlichen Zeigers (siehe die SetCursor-Funktion ). Diese Regel muss erzwungen werden, um Konflikte mit dem Feedback des Ablageziels zu vermeiden. (Eine Ziehquelle kann auch ein Ablageziel sein. Beim Ablegen selbst kann die Quelle/das Ziel natürlich Zielfeedback geben, um die Mausposition nachzuverfolgen. In diesem Fall ist es jedoch das Dropziel, das die Maus verfolgt, nicht die Quelle.) Basierend auf dem Feedback des Ablageziels legt die Quelle einen entsprechenden Zeiger fest.

Drag & Drop