Partager via


COleDropSource, classe

Permet aux données d’être déplacées vers une cible de déplacement.

Syntaxe

class COleDropSource : public CCmdTarget

Membres

Constructeurs publics

Nom Description
COleDropSource ::COleDropSource Construit un objet COleDropSource.

Méthodes publiques

Nom Description
COleDropSource ::GiveFeedback Modifie le curseur pendant une opération de glisser-déplacer.
COleDropSource ::OnBeginDrag Gère la capture de la souris pendant une opération de glisser-déplacer.
COleDropSource ::QueryContinueDrag Vérifie si le glissement doit continuer.

Notes

La classe COleDropTarget gère la partie de réception de l’opération de glisser-déplacer. L’objet COleDropSource est chargé de déterminer quand une opération de glisser commence, de fournir des commentaires pendant l’opération de glissement et de déterminer quand l’opération de glisser se termine.

Pour utiliser un COleDropSource objet, appelez simplement le constructeur. Cela simplifie le processus de détermination des événements, tels qu’un clic de souris, commencer une opération de glisser à l’aide de COleDataSource ::D oDragDrop, COleClientItem ::D oDragDrop ou COleServerItem ::D oDragDrop . Ces fonctions créent un COleDropSource objet pour vous. Vous pouvez modifier le comportement par défaut des COleDropSource fonctions substituables. Ces fonctions membres sont appelées aux moments appropriés par l’infrastructure.

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

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

Hiérarchie d'héritage

CObject

CCmdTarget

COleDropSource

Spécifications

En-tête : afxole.h

COleDropSource ::COleDropSource

Construit un objet COleDropSource.

COleDropSource();

COleDropSource ::GiveFeedback

Appelé par l’infrastructure après avoir appelé COleDropTarget ::OnDragOver ou COleDropTarget ::D ragEnter.

virtual SCODE GiveFeedback(DROPEFFECT dropEffect);

Paramètres

dropEffect
L’effet que vous souhaitez afficher à l’utilisateur, indiquant généralement ce qui se passerait si une suppression s’est produite à ce stade avec les données sélectionnées. En règle générale, il s’agit de la valeur retournée par l’appel le plus récent à CView ::OnDragEnter ou CView ::OnDragOver. 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.

Valeur de retour

Retourne DRAGDROP_S_USEDEFAULTCURSORS si le glissement est en cours, NOERROR si ce n’est pas le cas.

Notes

Remplacez cette fonction pour fournir des commentaires à l’utilisateur sur ce qui se passerait si une suppression s’est produite à ce stade. L’implémentation par défaut utilise les curseurs OLE par défaut. Pour plus d’informations sur les opérations de glisser-déplacer à l’aide d’OLE, consultez l’article OLE glisser-déplacer.

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

COleDropSource ::OnBeginDrag

Appelé par l’infrastructure lorsqu’un événement se produit qui peut commencer une opération de glissement, par exemple en appuyant sur le bouton gauche de la souris.

virtual BOOL OnBeginDrag(CWnd* pWnd);

Paramètres

pWnd
Pointe vers la fenêtre qui contient les données sélectionnées.

Valeur de retour

Différent de zéro si le glissement est autorisé, sinon 0.

Notes

Remplacez cette fonction si vous souhaitez modifier la façon dont le processus de glissement est démarré. L’implémentation par défaut capture la souris et reste en mode glisser jusqu’à ce que l’utilisateur clique sur le bouton gauche ou droit de la souris ou appuie sur ÉCHAP, à quel moment il relâche la souris.

COleDropSource ::QueryContinueDrag

Une fois que le glissement a commencé, cette fonction est appelée à plusieurs reprises par l’infrastructure jusqu’à ce que l’opération de glissement soit annulée ou terminée.

virtual SCODE QueryContinueDrag(
    BOOL bEscapePressed,
    DWORD dwKeyState);

Paramètres

bEscapePressed
Indique si la touche ÉCHAP a été enfoncée depuis le dernier appel à COleDropSource::QueryContinueDrag.

dwKeyState
Contient l’état des touches de modificateur sur le clavier. 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.

Valeur de retour

DRAGDROP_S_CANCEL si la touche Échap ou le bouton droit est enfoncé ou que le bouton gauche est déclenché avant de faire glisser le curseur. DRAGDROP_S_DROP si une opération de suppression doit se produire. Sinon, S_OK.

Notes

Remplacez cette fonction si vous souhaitez modifier le point auquel le glisser-déplacer est annulé ou qu’une suppression se produit.

L’implémentation par défaut lance la suppression ou annule le glissement comme suit. Elle annule une opération de glisser lorsque la touche Échap ou le bouton droit de la souris est enfoncé. Il lance une opération de déplacement lorsque le bouton gauche de la souris est déclenché après le démarrage du glisser-déplacer. Sinon, elle retourne S_OK et n’effectue aucune autre opération.

Étant donné que cette fonction est appelée fréquemment, elle doit être optimisée autant que possible.

Voir aussi

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