Drag&Drop-Operationen für ein Ablageobjekt anpassen
Nach oben zu Mit Steuerelementen arbeiten - Index
Sie können das Drag&Drop-Verhalten eines von TDragObject abgeleiteten Objekts anpassen. Standardmäßig geben die Drag&Drop-Ereignisse OnDragOver und OnDragDrop die Quellkomponente des gezogenen Objekts und die Koordinaten des Mauszeigers im Ziel der Operation an. Sie können jedoch weitere Statusinformationen abrufen, indem Sie ein Drag-Objekt von TDragObject oder TDragObjectEx ableiten und die betreffenden virtuellen Methoden überschreiben. Erstellen Sie das benutzerdefinierte Drag-Objekt in der Ereignisbehandlungsroutine für OnStartDrag.
Normalerweise enthält der Parameter Source eines OnDragOver- oder OnDragDrop-Ereignisses das Steuerelement, das die Drag-Operation eingeleitet hat. Können unterschiedliche Steuerelemente eine Operation mit Daten desselben Typs starten, muss die Quelle jedes dieser Steuerelemente unterstützen. Verwenden Sie einen Nachkommen von TDragObject, bildet das gezogene Objekt die Quelle. Erstellt jedes Steuerelement dieselbe Art von Drag-Objekt in seinem OnStartDrag-Ereignis, muss das Ziel nur eine Art von Objekt verarbeiten können. Die DragOver- und DragDrop-Ereignisse können angeben, ob es sich bei der Quelle um ein gezogenes Objekt statt eines Steuerelements handelt. Zu diesem Zweck wird die Funktion IsDragObject aufgerufen.
Ableitungen von TDragObjectEx werden automatisch freigegeben, während dies bei Ableitungen von TDragObject nicht der Fall ist. Gibt des Ableitungen von TDragObject, die nicht explizit freigegeben werden, können Sie diese ändern, damit sie zu Ableitungen von TDragObjectEx werden. Dadurch lässt sich mehr Arbeitsspeicher freigeben.
Mit Drag-Objekten können Sie Drag&Drop-Operationen zwischen Formularen durchführen, die einerseits in der ausführbaren Datei einer Anwendung und andererseits mithilfe einer DLL bzw. unterschiedlicher DLLs implementiert sind.