Personnalisation du glisser-déplacer avec un objet déplacement
Remonter à Manipulation des contrôles - Index
Vous pouvez utiliser un descendant de TDragObject pour personnaliser le comportement glisser-déplacer d'un objet. Les événements "glisser-dessus" et "glisser-déplacer" standard indiquent la source de l'élément glissé et les coordonnées du curseur de souris au-dessus du contrôle qui l'accepte. Pour obtenir des informations supplémentaires sur l'état en cours, dérivez un objet glissé de TDragObject ou TDragObjectEx et surchargez ses méthodes virtuelles. L'objet glissé doit être créé dans l'événement OnStartDrag.
Normalement, le paramètre source des événements "glisser-dessus" et "glisser-déplacer" est le contrôle qui commence l'opération glisser. Si plusieurs sortes de contrôles peuvent commencer une opération impliquant le même type de données, la source doit gérer chaque sorte de contrôle. Lorsque vous utilisez un descendant de TDragObject, toutefois, la source est l'objet glissé lui-même ; si chaque contrôle crée le même type d'objet glissé dans son événement OnStartDrag, la cible doit gérer uniquement une sorte d'objet. Les événements "glisser-dessus" et "glisser-déplacer" peuvent indiquer si la source est un objet glissé, en opposition au contrôle, en appelant la fonction IsDragObject.
Les descendants de TDragObjectEx sont libérés automatiquement alors que les descendants de TDragObject ne le sont pas. Si vous avez des descendants de TDragObject qui ne sont pas explicitement libérés, vous pouvez les modifier de façon à ce qu'ils dérivent de TDragObjectEx au lieu de surveiller les pertes de mémoire.
Les objets glissés vous permettent de déplacer des éléments entre une fiche implémentée dans le fichier exécutable principal de l'application et une fiche implémentée en utilisant une DLL, ou entre des fiches implémentées en utilisant différentes DLL.