Drag & Drop-Objekte
Drag & Drop-Objekte Beschreibung der Drag & Drop-Objekte
- Siehe: Drag & Drop-Ereignisse , Blog , Prozedurbeispiel in der Beispiele-Datenbank
Folgende Objekte werden bei Drag & Drop-Operationen verwendet:
Die Objekte werden vom System angelegt und nach den entsprechenden Drag & Drop-Ereignissen auch wieder entfernt.
Das DragData -Objekt wird bei den Ereignissen EvtDragInit, EvtDragTerm, EvtDropEnter und EvtDrop übergeben. Je nach Ereignis muss das Objekt unterschiedlich behandelt werden:
- EvtDragInit Das DragData-Objekt muss mit Informationen gefüllt werden. Die Informationen über den Datenbank-Benutzer und die Datenbank selber sind dabei bereits vorhanden. Die bei der Drag & Drop-Operation zu übertragenden Daten müssen allerdings noch zusammengestellt werden. Zunächst muss das Format der Daten bestimmt und die entsprechende Eigenschaft
FormatEnumgesetzt werden. Es können auch mehrere Formate gleichzeitig übertragen werden. Für jedes Format steht dann ein DragDataFormat -Objekt zur Verfügung, dass mit den Daten gefüllt werden kann. - EvtDragTerm Da innerhalb des DragData -Objekts die Deskriptoren der Daten-Objekte zu erreichen sind, die nach dem Abschluss der Drag & Drop-Operation unter Umständen wieder freigegeben werden müssen, wird auch in diesem Ereignis das Objekt übergeben.
- EvtDropEnter In dem DropTarget-Objekt muss zu diesem Zeitpunkt festgestellt werden, ob das Objekt die übergebenen Daten aufnehmen kann. Hier werden also die zu übertragenden Daten untersucht. Über den Effekt-Parameter wird dann zurückgegeben, ob das Objekt eine Drag & Drop-Operation zulässt und welche Operationen zugelassen sind.
- EvtDrop Beim
EvtDropwerden die Daten in das DropTarget-Objekt übernommen. Dazu wird das DragData -Objekt ausgewertet und die Daten entsprechend eingepflegt.
Das DragDataFormat -Objekt wird über das DragData -Objekt zur Verfügung gestellt. Es ist somit in den gleichen Ereignissen erreichbar.
Dieses Objekt kann für jedes Format einmal zur Verfügung stehen. Je nachdem, welches Format angegeben wurde, befindet sich ein Deskriptor auf eine Cte-Liste , Cte-Tree oder einen Textpuffer in diesem Objekt. In dieser Struktur oder dem Text befinden sich dann die Daten, die übertragen werden sollen.
Das DataPlace -Objekt wird bei dem Ereignis EvtDrop übergeben. Es enthält weiterführende Informationen über das DragSource-Objekt, die gewünschte Position der übergebenen Daten und zusätzliche Argumente.
Die zusätzlichen Argumente sind abhängig vom DropTarget-Objekt und definieren dort eine genauere Position, wo das nicht mit den Konstanten der Eigenschaft DropPlace möglich ist.