Méthode IDropTarget ::D ragEnter (oleidl.h)
Indique si une suppression peut être acceptée et, le cas échéant, l’effet de la suppression.
HRESULT DragEnter(
[in] IDataObject *pDataObj,
[in] DWORD grfKeyState,
[in] POINTL pt,
[in, out] DWORD *pdwEffect
);
[in] pDataObj
Pointeur vers l’interface IDataObject sur l’objet de données. Cet objet de données contient les données transférées lors de l'opération glisser-déplacer. Si la suppression se produit, cet objet de données est incorporé dans la cible.
[in] grfKeyState
État actuel des touches de modification du clavier. Les valeurs possibles peuvent être une combinaison des indicateurs MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON et MK_RBUTTON.
[in] pt
Structure POINTL contenant les coordonnées de curseur actuelles dans les coordonnées de l’écran.
[in, out] pdwEffect
Lors de l’entrée, pointeur vers la valeur du paramètre pdwEffect de la fonction DoDragDrop . Au retour, doit contenir l’un des indicateurs DROPEFFECT , qui indique le résultat de l’opération de suppression.
Cette méthode retourne S_OK en cas de réussite. Les autres valeurs possibles sont les suivantes.
Code de retour | Description |
---|---|
|
Une erreur inattendue s’est produite. |
|
Le paramètre pdwEffect a la valeur NULL lors de l’entrée. |
|
La mémoire disponible était insuffisante pour cette opération. |
Vous n’appelez pas DragEnter directement ; au lieu de cela, la fonction DoDragDrop l’appelle pour déterminer l’effet d’une suppression la première fois que l’utilisateur fait glisser la souris dans la fenêtre inscrite d’une cible de déplacement.
Pour implémenter DragEnter, vous devez déterminer si la cible peut utiliser les données de l’objet de données source en vérifiant trois éléments :
- Format et support spécifiés par l’objet de données
- Valeur d’entrée de pdwEffect
- État des touches de modification
Lors de l’entrée dans IDropTarget ::D ragEnter, le paramètre pdwEffect est défini sur les effets donnés au paramètre pdwOkEffect de la fonction DoDragDrop . La méthode IDropTarget ::D ragEnter doit choisir l’un de ces effets ou désactiver la suppression.
Les touches de modification suivantes affectent le résultat de la suppression.
Combinaison de touches | User-Visible Commentaires | Drop Effect |
---|---|---|
Ctrl +Maj | = | DROPEFFECT_LINK |
CTRL | + | DROPEFFECT_COPY |
Aucune touche ou MAJ | None | DROPEFFECT_MOVE |
Lors du retour, la méthode doit écrire l’effet, l’un des indicateurs DROPEFFECT, dans le paramètre pdwEffect . DoDragDrop prend ensuite ce paramètre et l’écrit dans son paramètre pdwEffect . Vous communiquez l’effet de la suppression à la source via DoDragDrop dans le paramètre pdwEffect . La fonction DoDragDrop appelle ensuite IDropSource ::GiveFeedback afin que l’application source puisse afficher les commentaires visuels appropriés à l’utilisateur via la fenêtre cible.
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | oleidl.h |