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