Freigeben über


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

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

Syntax

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

Die 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 Zustand der Tastaturmodifizierertasten auf der Tastatur. Mögliche Werte können eine Kombination aus einer der 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 eingaben auf den Wert des pdwEffect-Parameters der DoDragDrop-Funktion . Bei Rückgabe muss eines der DROPEFFECT-Flags enthalten sein, das angibt, was das Ergebnis des Ablagevorgangs sein würde.

Rückgabewert

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

Rückgabecode Description
DRAGDROP_S_CANCEL
Der OLE-Drag-and-Drop-Vorgang wurde abgebrochen.
E_UNEXPECTED
Ein unerwarteter Fehler ist aufgetreten.
E_INVALIDARG
Der parameter pdwEffect ist ungültig.
E_OUTOFMEMORY
Für diesen Vorgang ist nicht genügend Arbeitsspeicher verfügbar.

Bemerkungen

Sie rufen diese Methode nicht direkt auf. 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 Einbindung der Daten müssen Sie auch wie in der IDropTarget::D ragLeave-Methode bereinigen :

  • Entfernen Sie alle Zielfeedbacks, die derzeit angezeigt werden.
  • Geben Sie verweise auf das Datenobjekt frei.
Außerdem übergeben Sie den Effekt dieses Vorgangs wieder an die Quellanwendung über DoDragDrop, damit die Quellanwendung nach Abschluss des Drag-and-Drop-Vorgangs bereinigt werden kann:
  • Entfernen Sie alle Quellfeedbacks, die angezeigt werden.
  • Nehmen Sie alle erforderlichen Änderungen an den Daten vor, z. B. das Entfernen der Daten, wenn der Vorgang eine Verschiebung war.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 2000 Professional [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows 2000 Server [nur Desktop-Apps]
Zielplattform Fenster
Header oleidl.h

Siehe auch

DoDragDrop

IDropSource

IDropSourceNotify

IDropTarget

RegisterDragDrop

RevokeDragDrop