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
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