Drag and Drop bezieht sich auf Datenübertragungen, bei denen eine Maus oder ein anderes Zeigegerät verwendet wird, um sowohl die Datenquelle als auch ihr Ziel anzugeben. In einem typischen Drag-and-Drop-Vorgang wählt ein Benutzer das zu übertragende Objekt aus, indem er den Mauszeiger darauf bewegt und entweder die linke Schaltfläche oder eine andere für diesen Zweck bestimmte Schaltfläche gedrückt hält. Während die Schaltfläche weiterhin gedrückt gehalten wird, initiiert der Benutzer die Übertragung, indem er das Objekt an sein Ziel zieht, bei dem es sich um einen beliebigen OLE-Container handeln kann. Drag and Drop bietet genau die gleiche Funktionalität wie das Kopieren und Einfügen der OLE-Zwischenablage, fügt jedoch visuelles Feedback hinzu und entfällt die Notwendigkeit von Menüs. Wenn eine Anwendung das Kopieren und Einfügen der Zwischenablage unterstützt, ist nur wenig Zusätzliches erforderlich, um drag and drop zu unterstützen.
Während eines OLE-Drag-and-Drop-Vorgangs werden die folgenden drei separaten Codeelemente verwendet.
Wird von OLE implementiert und zum Initiieren eines Drag and Drop-Vorgangs verwendet. Nachdem der Vorgang ausgeführt wurde, erleichtert er die Kommunikation zwischen der Ziehquelle und dem Ablageziel.
Die Schnittstellen IDropSource und IDropTarget können entweder in einem Container oder in einer Objektanwendung implementiert werden. Die Rolle des Quell- oder Ablageziels für das Ziehen ist nicht auf einen ole-Anwendungstyp beschränkt.
Die OLE-Funktion DoDragDrop implementiert eine Schleife, die Maus- und Tastaturbewegungen nachverfolgt, bis der Ziehvorgang abgebrochen wird oder ein Abbruch auftritt.
DoDragDrop ist die Schlüsselfunktion im Drag-and-Drop-Prozess und erleichtert die Kommunikation zwischen der Ziehquelle und dem Ablageziel.
Während eines Drag-and-Drop-Vorgangs können dem Benutzer drei Arten von Feedback angezeigt werden.
Art des Feedbacks
BESCHREIBUNG
Quellfeedback
Das Von der Ziehquelle bereitgestellte Quellfeedback gibt an, dass die Daten gezogen werden und sich während des Ziehens nicht ändern. In der Regel werden die Daten hervorgehoben, um zu signalisieren, dass sie ausgewählt wurden.
Zeigerfeedback
Das Von der Ziehquelle bereitgestellte Zeigerfeedback gibt an, was geschieht, wenn die Maus zu einem bestimmten Zeitpunkt losgelassen wird. Das Zeigerfeedback ändert sich kontinuierlich, wenn der Benutzer die Maus bewegt und/oder eine Modifizierertaste drückt. Wenn der Zeiger beispielsweise in ein Fenster verschoben wird, das keinen Drop akzeptieren kann, ändert sich der Zeiger in das Symbol "nicht zulässig".
Zielfeedback
Das Vom Ablageziel bereitgestellte Zielfeedback gibt an, wo der Abbruch erfolgen soll.
Möchten Sie erfahren, wie Sie Artikel zwischen Lagerorten umlagern? In diesem Modul wird erläutert, wie Umlagerungsrouten eingerichteten und Artikel von einem Lagerort in einen anderen umgelagert werden.
Registriert das angegebene Fenster als ziel eines OLE-Drag-and-Drop-Vorgangs und gibt die IDropTarget-Instanz an, die für Drop-Vorgänge verwendet werden soll.
Bestimmt, ob ein Drag-and-Drop-Vorgang fortgesetzt, abgebrochen oder abgeschlossen werden soll. Diese Methode wird nicht direkt aufgerufen. Die OLE DoDragDrop-Funktion ruft diese Methode während eines Drag-and-Drop-Vorgangs auf.
Viele Anwendungen ermöglichen es Benutzern, Daten in eine andere Anwendung zu übertragen, indem sie die Daten mit der Maus ziehen und ablegen oder die Zwischenablage verwenden.