Partager via


CView::OnDropEx

Appelé par l'infrastructure lorsque l'utilisateur relâche un objet de données sur une cible de déplacement valide.

virtual DROPEFFECT OnDropEx( 
   COleDataObject* pDataObject, 
   DROPEFFECT dropDefault, 
   DROPEFFECT dropList, 
   CPoint point  
);

Paramètres

  • pDataObject
    Pointe vers COleDataObject qui est supprimé dans la cible de déplacement.

  • dropDefault
    L'effet que l'utilisateur a choisi pour l'opération de déplacement par défaut en fonction de l'état de la touche actuel. Ce peut être DROPEFFECT_NONE. Les effets de déplacement sont traités dans la section Notes.

  • dropList
    Une liste des effets de déplacement de la source de déplacement en charge. Les valeurs d'effet de déplacement peuvent être combinées à l'aide de bits OR ( |) exécution. Les effets de déplacement sont traités dans la section Notes.

  • point
    La position de la souris actuelle par rapport à la zone cliente de la vue.

Valeur de retour

L'effet de déplacement qui a résulté de la tentative de déplacement d'emplacement spécifié par point. Cela doit avoir l'une des valeurs indiquées par dropEffectList. Les effets de déplacement sont traités dans la section Notes.

Notes

L'implémentation par défaut consiste à ne rien et de retourner une valeur fictive (-1) pour indiquer que l'infrastructure doit appeler le gestionnaire d' OnDrop .

Remplacez cette fonction pour implémenter l'effet d'un glisser-déplacer de bouton droit de la souris. Le glisser-déplacer de bouton droit de la souris affiche généralement un menu de choix lorsque le bouton droit de la souris est relâché.

Votre substitution d' OnDropEx doit rechercher le bouton droit de la souris. Vous pouvez appeler GetKeyState ou stocker l'état du bouton droit de la souris de votre gestionnaire d' OnDragEnter .

  • Si le bouton droit de la souris est vers le bas, la substitution doit afficher un menu contextuel qui offre la prise en charge des effets de déplacement par la source de déplacement.

    • Examinez dropList pour déterminer les effets de déplacement pris en charge par la source de déplacement. Activez uniquement les actions dans le menu popup.

    • Utilisez SetMenuDefaultItem pour définir l'action par défaut en fonction dropDefault.

    • Enfin, prenez la mesure indiquée par la sélection de l'utilisateur à partir de le menu popup.

  • Si le bouton droit de la souris n'est pas vers le bas, la substitution doit traiter celui-ci comme une requête standard de déplacement. Utilisez les effets de déplacement spécifié dans dropDefault. Sinon, la substitution peut retourner la valeur fictive (-1) pour indiquer qu' OnDrop effectuera cette opération de déplacement.

Utilisez pDataObject pour examiner COleDataObject pour le format et les données de données du Presse-papiers supprimés au point spécifié.

Les effets de déplacement décrivent l'action associée à une opération de déplacement. Consultez la liste suivante des effets de déplacement :

  • Il ne laisserait pas le déplacement d'DROPEFFECT_NONE Un.

  • l'opération de copie d'DROPEFFECT_COPY A est exécutée.

  • l'opération de déplacement d'DROPEFFECT_MOVE A est exécutée.

  • Le lien d'DROPEFFECT_LINK A des données déplacées aux données d'origine est généré.

  • DROPEFFECT_SCROLL indique qu'une opération de défilement de glisser-déplacer est sur le point de se produire ou se produit dans la cible.

Pour plus d'informations sur la définition de la commande de menu par défaut, consultez SetMenuDefaultItem dans Kit de développement logiciel Windows et le CMenu::GetSafeHmenu dans le volume.

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CView, classe

Graphique de la hiérarchie

CView::OnDragEnter

CView::OnDragOver

CView::OnDrop

CView::OnDragLeave

COleDropTarget::OnDropEx