COleDropTarget, classe

Fournit le mécanisme de communication entre une fenêtre et les bibliothèques OLE.

Syntaxe

class COleDropTarget : public CCmdTarget

Membres

Constructeurs publics

Nom Description
COleDropTarget ::COleDropTarget Construit un objet COleDropTarget.

Méthodes publiques

Nom Description
COleDropTarget ::OnDragEnter Appelé lorsque le curseur entre d’abord dans la fenêtre.
COleDropTarget ::OnDragLeave Appelé lorsque le curseur est déplacé hors de la fenêtre.
COleDropTarget ::OnDragOver Appelé à plusieurs reprises lorsque le curseur est déplacé sur la fenêtre.
COleDropTarget ::OnDragScroll Appelé pour déterminer si le curseur est déplacé dans la région de défilement de la fenêtre.
COleDropTarget ::OnDrop Appelé lorsque les données sont supprimées dans la fenêtre, gestionnaire par défaut.
COleDropTarget ::OnDropEx Appelé lorsque les données sont supprimées dans la fenêtre, gestionnaire initial.
COleDropTarget ::Register Inscrit la fenêtre en tant que cible de déplacement valide.
COleDropTarget ::Revoke Provoque l’arrêt de la fenêtre en tant que cible de suppression valide.

Notes

La création d’un objet de cette classe permet à une fenêtre d’accepter des données via le mécanisme de glisser-déplacer OLE.

Pour obtenir une fenêtre pour accepter les commandes drop, vous devez d’abord créer un objet de la COleDropTarget classe, puis appeler la fonction Register avec un pointeur vers l’objet souhaité CWnd comme seul paramètre.

Pour plus d’informations sur les opérations de glisser-déplacer à l’aide d’OLE, consultez l’article OLE glisser-déplacer.

Hiérarchie d'héritage

CObject

CCmdTarget

COleDropTarget

Spécifications

En-tête : afxole.h

COleDropTarget ::COleDropTarget

Construit un objet de classe COleDropTarget.

COleDropTarget();

Notes

Appelez Register pour associer cet objet à une fenêtre.

COleDropTarget ::OnDragEnter

Appelé par l’infrastructure lorsque le curseur est d’abord déplacé dans la fenêtre.

virtual DROPEFFECT OnDragEnter(
    CWnd* pWnd,
    COleDataObject* pDataObject,
    DWORD dwKeyState,
    CPoint point);

Paramètres

pWnd
Pointe vers la fenêtre que le curseur entre.

pDataObject
Pointe vers l’objet de données contenant les données qui peuvent être supprimées.

dwKeyState
Contient l’état des touches de modificateur. Il s’agit d’une combinaison de n’importe quel nombre des éléments suivants : MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON et MK_RBUTTON.

point
Contient l’emplacement actuel du curseur dans les coordonnées du client.

Valeur de retour

Effet qui entraînerait une tentative de suppression à l’emplacement spécifié par point. Il peut s’agir d’un ou plusieurs des éléments suivants :

  • DROPEFFECT_NONE Une suppression n’est pas autorisée.

  • DROPEFFECT_COPY Une opération de copie est effectuée.

  • DROPEFFECT_MOVE Une opération de déplacement est effectuée.

  • DROPEFFECT_LINK Un lien des données supprimées vers les données d’origine serait établi.

  • DROPEFFECT_SCROLL Une opération de défilement glisser est sur le point de se produire ou se produit dans la cible.

Notes

Remplacez cette fonction pour autoriser les opérations de suppression dans la fenêtre. L’implémentation par défaut appelle CView ::OnDragEnter, qui retourne simplement DROPEFFECT_NONE par défaut.

Pour plus d’informations, consultez IDropTarget ::D ragEnter dans le Kit de développement logiciel (SDK) Windows.

COleDropTarget ::OnDragLeave

Appelé par l’infrastructure lorsque le curseur quitte la fenêtre pendant qu’une opération de glissement est en vigueur.

virtual void OnDragLeave(CWnd* pWnd);

Paramètres

pWnd
Pointe vers la fenêtre que le curseur quitte.

Notes

Remplacez cette fonction si vous souhaitez un comportement spécial lorsque l’opération de glisser quitte la fenêtre spécifiée. L’implémentation par défaut de cette fonction appelle CView ::OnDragLeave.

Pour plus d’informations, consultez IDropTarget ::D ragLeave dans le Kit de développement logiciel (SDK) Windows.

COleDropTarget ::OnDragOver

Appelé par l’infrastructure lorsque le curseur est déplacé sur la fenêtre.

virtual DROPEFFECT OnDragOver(
    CWnd* pWnd,
    COleDataObject* pDataObject,
    DWORD dwKeyState,
    CPoint point);

Paramètres

pWnd
Pointe vers la fenêtre sur laquelle le curseur est terminé.

pDataObject
Pointe vers l’objet de données qui contient les données à supprimer.

dwKeyState
Contient l’état des touches de modificateur. Il s’agit d’une combinaison de n’importe quel nombre des éléments suivants : MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON et MK_RBUTTON.

point
Contient l’emplacement actuel du curseur dans les coordonnées du client.

Valeur de retour

Effet qui entraînerait une tentative de suppression à l’emplacement spécifié par point. Il peut s’agir d’un ou plusieurs des éléments suivants :

  • DROPEFFECT_NONE Une suppression n’est pas autorisée.

  • DROPEFFECT_COPY Une opération de copie est effectuée.

  • DROPEFFECT_MOVE Une opération de déplacement est effectuée.

  • DROPEFFECT_LINK Un lien des données supprimées vers les données d’origine serait établi.

  • DROPEFFECT_SCROLL Indique qu’une opération de défilement de glisser est sur le point de se produire ou se produit dans la cible.

Notes

Cette fonction doit être remplacée pour autoriser les opérations de suppression à se produire dans la fenêtre. L’implémentation par défaut de cette fonction appelle CView ::OnDragOver, qui retourne DROPEFFECT_NONE par défaut. Étant donné que cette fonction est appelée fréquemment pendant une opération de glisser-déplacer, elle doit être optimisée autant que possible.

Pour plus d’informations, consultez IDropTarget ::D ragOver dans le Kit de développement logiciel (SDK) Windows.

Exemple

DROPEFFECT COleContainerView::OnDragOver(COleDataObject* pDataObject,
   DWORD dwKeyState, CPoint point)
{
   UNREFERENCED_PARAMETER(pDataObject);
   UNREFERENCED_PARAMETER(point);

   DROPEFFECT de = DROPEFFECT_NONE;
   //Determine the type of operation
   if ((dwKeyState & MK_SHIFT) && (dwKeyState & MK_CONTROL))
      de = DROPEFFECT_LINK;
   else if (dwKeyState & MK_CONTROL)
      de = DROPEFFECT_COPY;
   else if (dwKeyState & MK_SHIFT)
      de = DROPEFFECT_MOVE;
   return de;
}

COleDropTarget ::OnDragScroll

Appelé par l’infrastructure avant d’appeler OnDragEnter ou OnDragOver pour déterminer si le point se trouve dans la région de défilement.

virtual DROPEFFECT OnDragScroll(
    CWnd* pWnd,
    DWORD dwKeyState,
    CPoint point);

Paramètres

pWnd
Pointe vers la fenêtre sur laquelle le curseur est actuellement terminé.

dwKeyState
Contient l’état des touches de modificateur. Il s’agit d’une combinaison de n’importe quel nombre des éléments suivants : MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON et MK_RBUTTON.

point
Contient l’emplacement du curseur, en pixels, par rapport à l’écran.

Valeur de retour

Effet qui entraînerait une tentative de suppression à l’emplacement spécifié par point. Il peut s’agir d’un ou plusieurs des éléments suivants :

  • DROPEFFECT_NONE Une suppression n’est pas autorisée.

  • DROPEFFECT_COPY Une opération de copie est effectuée.

  • DROPEFFECT_MOVE Une opération de déplacement est effectuée.

  • DROPEFFECT_LINK Un lien des données supprimées vers les données d’origine serait établi.

  • DROPEFFECT_SCROLL Indique qu’une opération de défilement de glisser est sur le point de se produire ou se produit dans la cible.

Notes

Remplacez cette fonction lorsque vous souhaitez fournir un comportement spécial pour cet événement. L’implémentation par défaut de cette fonction appelle CView ::OnDragScroll, qui retourne DROPEFFECT_NONE et fait défiler la fenêtre lorsque le curseur est déplacé dans la région de défilement par défaut à l’intérieur de la bordure de la fenêtre.

COleDropTarget ::OnDrop

Appelé par l’infrastructure lorsqu’une opération de suppression doit se produire.

virtual BOOL OnDrop(
    CWnd* pWnd,
    COleDataObject* pDataObject,
    DROPEFFECT dropEffect,
    CPoint point);

Paramètres

pWnd
Pointe vers la fenêtre sur laquelle le curseur est actuellement terminé.

pDataObject
Pointe vers l’objet de données qui contient les données à supprimer.

dropEffect
Effet que l’utilisateur a choisi pour l’opération de suppression. Il peut s’agir d’un ou plusieurs des éléments suivants :

  • DROPEFFECT_COPY Une opération de copie est effectuée.

  • DROPEFFECT_MOVE Une opération de déplacement est effectuée.

  • DROPEFFECT_LINK Un lien des données supprimées vers les données d’origine serait établi.

point
Contient l’emplacement du curseur, en pixels, par rapport à l’écran.

Valeur de retour

Différent de zéro si la suppression réussit ; sinon 0.

Notes

Le framework appelle d’abord OnDropEx. Si la fonction ne gère pas la OnDropEx suppression, l’infrastructure appelle ensuite cette fonction membre. OnDrop En règle générale, l’application remplace OnDropEx dans la classe d’affichage pour gérer le glisser-déplacer du bouton droit de la souris. En règle générale, la classe d’affichage OnDrop est utilisée pour gérer un glisser-déplacer simple.

Implémentation par défaut des COleDropTarget::OnDrop appels CView ::OnDrop, qui retourne simplement FALSE par défaut.

Pour plus d’informations, consultez IDropTarget ::D rop dans le Kit de développement logiciel (SDK) Windows.

COleDropTarget ::OnDropEx

Appelé par l’infrastructure lorsqu’une opération de suppression doit se produire.

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

Paramètres

pWnd
Pointe vers la fenêtre sur laquelle le curseur est actuellement terminé.

pDataObject
Pointe vers l’objet de données qui contient les données à supprimer.

dropDefault
Effet que l’utilisateur a choisi pour l’opération de suppression par défaut en fonction de l’état actuel de la clé. Il peut être DROPEFFECT_NONE. Les effets de suppression sont abordés dans la section Remarques.

dropList
Liste des effets de suppression pris en charge par la source de suppression. Les valeurs d’effet de suppression peuvent être combinées à l’aide de l’opération OR (|) au niveau du bit. Les effets de suppression sont abordés dans la section Remarques.

point
Contient l’emplacement du curseur, en pixels, par rapport à l’écran.

Valeur de retour

Effet de suppression résultant de la tentative de suppression à l’emplacement spécifié par point. Les effets de suppression sont abordés dans la section Remarques.

Notes

L’infrastructure appelle d’abord cette fonction. S’il ne gère pas la suppression, l’infrastructure appelle ensuite OnDrop. En règle générale, vous remplacerez OnDropEx dans la classe d’affichage pour prendre en charge le glisser-déplacer du bouton droit de la souris. En règle générale, la classe d’affichage OnDrop est utilisée pour gérer le cas de prise en charge d’un glisser-déplacer simple.

Implémentation par défaut des COleDropTarget::OnDropEx appels CView ::OnDropEx. Par défaut, CView ::OnDropEx retourne simplement une valeur factice pour indiquer que la fonction membre OnDrop doit être appelée.

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

  • DROPEFFECT_NONE Une suppression n’est pas autorisée.

  • DROPEFFECT_COPY Une opération de copie est effectuée.

  • DROPEFFECT_MOVE Une opération de déplacement est effectuée.

  • DROPEFFECT_LINK Un lien des données supprimées vers les données d’origine serait établi.

  • DROPEFFECT_SCROLL Indique qu’une opération de défilement de glisser est sur le point de se produire ou se produit dans la cible.

Pour plus d’informations, consultez IDropTarget ::D rop dans le Kit de développement logiciel (SDK) Windows.

COleDropTarget ::Register

Appelez cette fonction pour inscrire votre fenêtre avec les DLL OLE en tant que cible de déplacement valide.

BOOL Register(CWnd* pWnd);

Paramètres

pWnd
Pointe vers la fenêtre qui doit être inscrite en tant que cible de suppression.

Valeur de retour

Différent de zéro si l’inscription réussit ; sinon 0.

Notes

Cette fonction doit être appelée pour que les opérations de suppression soient acceptées.

Pour plus d’informations, consultez RegisterDragDrop dans le Kit de développement logiciel (SDK) Windows.

COleDropTarget ::Revoke

Appelez cette fonction avant de détruire une fenêtre qui a été inscrite en tant que cible de déplacement par le biais d’un appel à Inscrire pour la supprimer de la liste des cibles de suppression.

virtual void Revoke();

Notes

Cette fonction est appelée automatiquement à partir du gestionnaire OnDestroy pour la fenêtre inscrite. Il est donc généralement inutile d’appeler cette fonction explicitement.

Pour plus d’informations, consultez RevokeDragDrop dans le Kit de développement logiciel (SDK) Windows.

Voir aussi

Exemple MFC HIERSVR
Exemple OCLIENT MFC
CCmdTarget, classe
Graphique hiérarchique
COleDropSource, classe