IDropTarget::D ragEnter-Methode (oleidl.h)
Gibt an, ob ein Drop akzeptiert werden kann, und, falls ja, die Auswirkung des Drops.
Syntax
HRESULT DragEnter(
[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. Dieses Datenobjekt enthält die Daten, die im Drag-and-Drop-Vorgang übertragen werden. Wenn der Drop auftritt, wird dieses Datenobjekt in das Ziel integriert.
[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 |
---|---|
|
Ein unerwarteter Fehler ist aufgetreten. |
|
Der pdwEffect-Parameter ist bei der Eingabe NULL . |
|
Für diesen Vorgang war nicht genügend Arbeitsspeicher verfügbar. |
Hinweise
Sie rufen DragEnter nicht direkt auf. Stattdessen ruft die DoDragDrop-Funktion sie auf, um die Auswirkung eines Drops zu bestimmen, wenn der Benutzer die Maus zum ersten Mal in das registrierte Fenster eines Ablageziels zieht.
Um DragEnter zu implementieren, müssen Sie bestimmen, ob das Ziel die Daten im Quelldatenobjekt verwenden kann, indem Sie drei Dinge überprüfen:
- Das vom Datenobjekt angegebene Format und Medium
- Der Eingabewert von pdwEffect
- Der Status der Modifiziererschlüssel
Beim Eintrag zu IDropTarget::D ragEnter wird der pdwEffect-Parameter auf die Effekte festgelegt, die dem pdwOkEffect-Parameter der DoDragDrop-Funktion zugewiesen werden. Die IDropTarget::D ragEnter-Methode muss einen dieser Effekte auswählen oder den Drop deaktivieren.
Die folgenden Modifizierertasten wirken sich auf das Ergebnis der Ablage aus.
Tastenkombination | feedback User-Visible | Drop-Effekt |
---|---|---|
STRG+UMSCHALT | = | DROPEFFECT_LINK |
STRG | + | DROPEFFECT_COPY |
Keine Tasten oder UMSCHALTTASTE | Keine | DROPEFFECT_MOVE |
Bei der Rückgabe muss die Methode den Effekt( eines der DROPEFFECT-Flags) in den pdwEffect-Parameter schreiben. DoDragDrop verwendet dann diesen Parameter und schreibt ihn in den pdwEffect-Parameter . Sie kommunizieren die Auswirkungen des Dropbacks an die Quelle über DoDragDrop im pdwEffect-Parameter . Die DoDragDrop-Funktion ruft dann IDropSource::GiveFeedback auf, damit die Quellanwendung dem Benutzer das entsprechende visuelle Feedback über das Zielfenster anzeigen kann.
Anforderungen
Anforderung | Wert |
---|---|
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 |