Faire glisser les responsabilités de la source
La source de glisser est responsable des tâches suivantes :
- Fourniture d’un objet de transfert de données pour la cible de suppression qui expose les interfaces IDataObject et IDropSource .
- Génération de commentaires sur le pointeur et la source.
- Détermination du moment où l’opération de glisser-glisser a été annulée ou si une opération de suppression s’est produite.
- Effectuer une action sur les données d’origine provoquée par l’opération de suppression, comme la suppression des données ou la création d’un lien vers celles-ci.
La tâche main crée un objet de transfert de données qui expose les interfaces IDataObject et IDropSource. La source de glisser peut inclure ou non une copie des données sélectionnées. L’inclusion de ce code n’est pas obligatoire, mais cela permet de se protéger contre les modifications accidentelles et permet au code d’opérations du Presse-papiers d’être identique au code glisser-déplacer.
Lorsqu’une opération de glissement est en cours, la source de glisser est chargée de définir le pointeur de la souris et, le cas échéant, de fournir des commentaires sources supplémentaires à l’utilisateur. La source de glissement ne peut pas fournir de commentaires qui effectuent le suivi de la position de la souris autrement qu’en définissant le pointeur réel (voir la fonction SetCursor ). Cette règle doit être appliquée pour éviter les conflits avec les commentaires fournis par la cible de suppression. (Une source de glisser peut également être une cible de déplacement. En cas de chute sur elle-même, la source/la cible peut, bien sûr, fournir des commentaires sur la cible pour suivre la position de la souris. Dans ce cas, cependant, il s’agit de la cible de suppression qui suit la souris, pas la source.) En fonction des commentaires proposés par la cible de suppression, la source définit un pointeur approprié.
Rubriques connexes