Version 2004
Mit 4D Write 2004 können Sie Drag&Drop Operationen im gleichen 4D Write Bereich, zwischen zwei verschiedenen 4D Write Bereichen oder zwischen einem 4D Write Bereich und einem 4th Dimension Bereich durchführen.
Drag&Drop lässt sich standardmäßig verwenden oder per Programmierung über die neuen Befehle unter dem Thema "WR Drag and Drop".
Standardverhalten
4D Write bietet standardmäßig eine automatische Einstellung für Drag &Drop zum Bewegen oder Kopieren von Text oder Bildern. Sie können ausgewählten Text oder ein Bild mit der Maus bewegen. Wird ein Bild per Drag&Drop in einen 4D Write Bereich bewegt, wird es automatisch in den Text übertragen.
Daten werden verschoben, wenn Drag&Drop im gleichen oder zwischen zwei 4D Write Bereichen ausgeführt wird, d.h. sie werden aus dem ursprünglichen Bereich entfernt. Wollen Sie die Daten nur kopieren, führen Sie die Operation unter Windows mit gedrückter ctrl -Taste, auf Mac OS mit gedrückter Befehlstaste aus.
Diese Art von Drag&Drop erfordert keine spezifische Programmierung; Sie müssen nur die jeweiligen Eigenschaften "Dragfähig" und "Dropfähig" zuweisen, damit Sie innerhalb von 4D Formularen mit Drag&Drop-Technik arbeiten können (siehe unten).
4D Objekte für Drag&Drop konfigurieren
Sie können Daten zwischen 4D Write Bereichen und 4th Dimension Objekten per Drag&Drop bewegen.
Es lassen sich alle Arten von 4th Dimension Feldern (ausgenommen BLOBs und Untertabellen) und Variablen (ausgenommen BLOBs) in 4D Write Bereiche einsetzen und umgekehrt. Sie werden, je nach Ausgangstyp, automatisch als Text oder Bild in den 4D Write Bereich eingefügt.
Warnung: Um Textdaten per Drag&Drop aus einem 4th Dimension Feld oder einer Variablen in einen 4D Write Bereich zu setzen, müssen Sie während der Operation unter Windows die Alt-Taste, auf Mac OS die Optionstaste drücken.
Beachten Sie, dass es nicht möglich ist, eine Textauswahl aus einem 4th Dimension Bereich in 4D Write zu übertragen. Es lässt sich nur der gesamte Inhalt des Objekts kopieren.
Wollen Sie Objekte zwischen einem 4D Write Bereich und einem 4th Dimension Objekt per Drag&Drop bewegen, muss jedes Objekt, das auf diese Weise bewegt werden soll, die Eigenschaft "Dragfähig" haben.
Ist der 4D Write Bereich in ein Formular eingebunden, muss für den Bereich, der 4D Objekte bzw. Elemente aus 4D Write Bereichen empfangen soll, die Eigenschaft "Dropfähig" gewählt sein.
Elemente, die im Bereich bewegt werden sollen, müssen die Eigenschaft "Dragfähig" haben.
Programmierte Verwaltung
Das standardmäßige Drag&Drop von 4D Write sorgt für eine intuitive Oberfläche und ergonomische Benutzerführung.
Es gibt jedoch Fälle, wo Sie diese vorgegebene Einstellung an eigene Bedürfnisse anpassen wollen:
Sie wollen Drag&Drop von anderen Formularobjekten nutzen, z.B. hierarchische Listen oder rollbare Bereiche.
Sie wollen die Auswirkung von Drag&Drop steuern, z.B. wenn Daten per Drag&Drop an mehrere verschiedene Stellen gesetzt werden.
In diesem Fall müssen Sie die Befehle zum Verwalten von Drag&Drop in 4th Dimension mit den Befehlen von 4D Write kombinieren.
Als erstes müssen Sie sicherstellen, dass die Formularereignisse On Drag Over bzw. On Drop für die verwendeten Objekte markiert sind.
Über die Befehle WR GET AREA PROPERTY and WR SET AREA PROPERTY können Sie die Drag&Drop Eigenschaften für den 4D Write Bereich einrichten.
Bei einem 4D Write Bereich, der in ein Formular eingebunden ist, können Sie die Formularereignisse On Drag Over bzw. On Drop des eingebundenen Objekts verwenden; bei einem externen Fenster müssen Sie die Ereignisse mit dem Befehl WR ON EVENT verwalten.
Über den 4th Dimension Befehl DRAG AND DROP PROPERTIES können Sie genau steuern, welche Art von 4D Objekt bewegt werden soll. Mit den Befehlen von 4th Dimension können Sie jede Art von Aktion als Antwort auf eine Drag&Drop Operation ausführen.
Bei Drag&Drop zwischen zwei 4D Write Bereichen finden Sie über den neuen Befehl WR GET DRAG SOURCE heraus, von welchem Bereich aus die Daten bewegt wurden.
Über den neuen Befehl WR GET DROP TARGET finden Sie den Bereich heraus, in den die 4D Objekte gesetzt wurden, sowie seine genaue Einfügeposition (neuer Befehl WR GET DROP INFO): Bereich (Kopfteil, Fußteil, Hauptteil) und die Position des Cursors.