IDropTarget::D rop-Methode (oleidl.h)

Bindet die Quelldaten in das Zielfenster ein, entfernt Das Zielfeedback und gibt das Datenobjekt frei.

Syntax

HRESULT Drop(
  [in]      IDataObject *pDataObj,
  [in]      DWORD       grfKeyState,
  [in]      POINTL      pt,
  [in, out] DWORD       *pdwEffect
);

Parameter

[in] pDataObj

Ein Zeiger auf die IDataObject-Schnittstelle für das Datenobjekt, das im Drag-and-Drop-Vorgang übertragen wird.

[in] grfKeyState

Der aktuelle Status der Tastaturmodifizierertasten auf der Tastatur. Mögliche Werte können eine Kombination aus flags MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON und MK_RBUTTON sein.

[in] pt

Eine POINTL-Struktur , die die aktuellen Cursorkoordinaten in Bildschirmkoordinaten enthält.

[in, out] pdwEffect

Zeigen Sie bei der Eingabe auf den Wert des pdwEffect-Parameters der DoDragDrop-Funktion . Bei der Rückgabe muss eines der DROPEFFECT-Flags enthalten sein, das angibt, was das Ergebnis des Löschvorgangs wäre.

Rückgabewert

Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Werte sind:

Rückgabecode Beschreibung
E_UNEXPECTED
Ein unerwarteter Fehler ist aufgetreten.
E_INVALIDARG
Der pdwEffect-Parameter ist ungültig.
E_OUTOFMEMORY
Für diesen Vorgang ist nicht genügend Arbeitsspeicher verfügbar.

Hinweise

Diese Methode wird nicht direkt aufgerufen. Die DoDragDrop-Funktion ruft diese Methode auf, wenn der Benutzer den Drag-and-Drop-Vorgang abgeschlossen hat.

Bei der Implementierung von Drop müssen Sie das Datenobjekt in das Ziel integrieren. Verwenden Sie die in IDataObject verfügbaren Formate, die über pDataObj verfügbar sind, zusammen mit dem aktuellen Status der Modifiziererschlüssel, um zu bestimmen, wie die Daten integriert werden sollen, z. B. Verknüpfen oder Einbetten.

Zusätzlich zur Integration der Daten müssen Sie auch sauber wie in der IDropTarget::D ragLeave-Methode:

  • Entfernen Sie alle aktuell angezeigten Zielfeedbacks.
  • Geben Sie alle Verweise auf das Datenobjekt frei.
Außerdem übergeben Sie die Auswirkung dieses Vorgangs über DoDragDrop zurück an die Quellanwendung, damit die Quellanwendung nach Abschluss des Drag-and-Drop-Vorgangs sauber kann:
  • Entfernen Sie alle angezeigten Quellfeedbacks.
  • Nehmen Sie alle erforderlichen Änderungen an den Daten vor, z. B. das Entfernen der Daten, wenn der Vorgang eine Verschiebung war.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile oleidl.h

Weitere Informationen

Dodragdrop

IDropSource

IDropSourceNotify

Idroptarget

RegisterDragDrop

RevokeDragDrop