Vcl.Controls.TDragObject

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

System.TObjectTDragObject

Delphi

TDragObject = class(TObject)

C++

class PASCALIMPLEMENTATION TDragObject : public System::TObject

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
class public
Vcl.Controls.pas
Vcl.Controls.hpp
Vcl.Controls Vcl.Controls

Beschreibung

TDragObject ist eine Basisklasse zur Verwaltung von Drag-Operationen.

Verwenden Sie TDragObject als Basisklasse für ein benutzerdefiniertes Drag-Objekt, das zur Verwaltung von Drag-and-Drop- sowie von Drag-and-Dock-Operationen dienen soll. Wenn der Drag-Vorgang einem einzelnen Steuerelement zugewiesen ist, wird das Drag-Objekt stattdessen von TBaseDragControlObject abgeleitet und das benutzerdefinierte Drag-Objekt in einem OnStartDrag-Ereignis des gezogenen Steuerelements erzeugt. Wenn eine Drag-/Drop-Anforderung akzeptiert werden soll, verwenden Sie die Funktion IsDragObject innerhalb des Ereignisses OnDragOver des Ziels.

Anmerkung:  TDragObject wird am Ende einer Drag-Operation nicht automatisch freigegeben. Wenn Sie ein Objekt benötigen, das automatisch freigegeben wird, verwenden Sie stattdessen TDragObjectEx.

In Anwendungen, in denen die virtuellen Methoden von TDragObjectEx nicht überschrieben werden müssen, wird zur Verwaltung von Drag-Operationen automatisch ein Drag-Objekt erzeugt.

TDragObject kann Drag-Operationen sehr flexibel verarbeiten. Normalerweise bezeichnet der Parameter Source der Ereignisse OnDragOver und OnDragDrop das Steuerelement, das die Drag-Operation einleitet. Wenn mehrere Steuerelemente unterschiedlichen Typs einen Drag-Vorgang für gleichartige Daten starten müssen (z.B. Dateinamen, Texte oder Geldbeträge), müsste die Quelle jeden dieser Steuerelement-Typen unterstützen. Ein Drag-Objekt ermöglicht es dem Ziel, Drag-Quellen als eine einzige Objektklasse zu bearbeiten, da alle Quell-Steuerelemente in ihren OnStartDrag-Ereignissen denselben Typ von Drag-Objekt erzeugen. Die Ereignisbehandlungsroutinen für OnDragOver und OnDragDrop können durch Aufruf von IsDragObject signalisieren, ob es sich bei der Quelle um das Drag-Objekt oder um das Steuerelement handelt.

Drag-Objekte können zwischen verschiedenen .DLLs gezogen werden sowie in die zentrale .EXE-Datei. Dies ist hilfreich, wenn Sie keine Packages verwenden, trotzdem jedoch Drag-Operationen zwischen Formularen, die in .EXE-Dateien implementiert sind, und Formularen, die in .DLLs implementiert sind, zulassen möchten.

Siehe auch