Vcl.Controls.TDragObject
Delphi
TDragObject = class(TObject)
C++
class PASCALIMPLEMENTATION TDragObject : public System::TObject
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
class | public | Vcl.Controls.pas Vcl.Controls.hpp |
Vcl.Controls | Vcl.Controls |
Description
TDragObject est la classe de base utilisée pour gérer les opérations de glisser.
Utilisez TDragObject en tant que classe de base lorsque vous créez un objet déplacement personnalisé pour gérer les opérations de glisser-déplacer ou glisser-ancrer. Si l'opération de glisser est associée à un contrôle unique déplacé, dérivez l'objet de déplacement personnalisé de TBaseDragControlObject. Cet objet est créé dans l'événement OnStartDrag du contrôle déplacé. Pour accepter le relâchement d'un objet, utilisez la fonction publique IsDragObject dans l'événement OnDragOver de l'objet.
Remarque : TDragObject n'est pas libéré automatiquement à la fin d'une opération de déplacement. Pour travailler avec un objet déplacement libéré à la fin de l'opération de déplacement, utilisez plutôt TDragObjectEx.
Dans les applications qui n'ont pas besoin de surcharger les méthodes virtuelles de TDragObject, un objet déplacement est automatiquement créé pour gérer les opérations de glisser.
TDragObject permet une gestion plus souple des opérations glisser. Normalement, le paramètre Source des événements OnDragOver et OnDragDrop désigne le contrôle ayant commencé l'opération glisser-déplacer. Si plusieurs contrôles de types différents peuvent commencer un glissement du même type de données (par exemple un nom de fichier, du texte, un montant en francs, etc.), la source doit être gérée par chaque type de contrôle. Un objet déplacement permet à la cible de gérer des sources déplacement en tant que classe unique d'objet car chaque contrôle source crée le même type d'objet déplacement dans leur événement OnStartDrag. Les gestionnaires d'événement OnDragOver et OnDragDrop peuvent savoir si la source est un objet déplacement ou un contrôle en appelant IsDragObject.
Les objets déplacement peuvent passer entre différentes DLL ou à l'intérieur de l'exécutable principal. Cela est pratique si vous n'utilisez pas de packages mais souhaitez quand même que les opérations glisser fonctionnent entre des fiches implémentées dans des .EXE vers des fiches implémentées dans des .DLL.