Version 6.8
PV SET DRAG SIGNATURES (Bereich; Signatur)
| Parameter | Typ | Beschreibung | |
| Bereich | Lange Ganzzahl | 4D View Bereich | |
| Signatur | Array | Array Signaturen |
Beschreibung
Der Befehl PV SET DRAG SIGNATURES setzt den Inhalt des Arrays Signatur als "drag" Kennung für Bereich.
Signatur ist ein alphanumerischer String mit beliebigem Inhalt. Er darf max. 32 Zeichen lang sein.
Diese Eigenschaften werden mit den Befehl PV SET AREA PROPERTY definiert. Sie ermöglichen, dem 4D View Bereich Drag&Drop Optionen zuzuweisen:
Drag&Drop Eigenschaften für einen Bereich definieren Sie mit einer Konstanten unter dem Thema PV Bereichseigenschaften.
Werte für diese verschiedenen Eigenschaften definieren Sie mit einer Konstanten unter den Themen PV Drag&Drop erlauben und PV Drop Modus.
Ist Drag&Drop zugelassen, können zwei Bereiche interagieren, vorausgesetzt, sie enthalten mindestens eine gemeinsame Signatur, um Drag im Quellbereich und Drop im Zielbereich auszuführen. Wie für das Drag&Drop Ereignis kann die Aktion durch den Befehl PV ON EVENT abgefangen werden.
Beispiele
Nachfolgendes Beispiel zeigt Drag&Drop zwischen zwei 4D View Bereichen. Sie legen zuerst die Definition und das Verhalten der Bereiche fest, z.B. beim Ändern eines Formulars:
ARRAY TEXT ($DDSignatureArray;1)
$DDSignatureArray{1}:="Signatur_1"
PV SET AREA PROPERTY (Quellbereich;pv drag trigger ;pv trigger on alt click )
`Alt-Klick für Drag
PV SET AREA PROPERTY (Quellbereich;pv drag allowed ;pv DD multiple cells )
PV ON EVENT (Quellbereich;pv on drag ;"DragDropMethod")
PV SET DRAG SIGNATURES (Quellbereich;$DDSignatureArray)
PV SET AREA PROPERTY (Zielbereich;pv drop allowed;pv DD single cell +
pv DD adjacent cells +pv DD multiple cells)
PV SET AREA PROPERTY (Zielbereich;pv drop mode ;pv drop replace only)
PV ON EVENT (Zielbereich;pv on drop ;"DragDropMethod")
PV SET DROP SIGNATURES (Zielbereich;$DDSignatureArray) `Gleiche Signatur wie für Drag
Die Projektmethode DragDropMethod wird aufgerufen, wenn Drag mit der Tastenkombination Alt-Klick ausgeführt wird oder im Zielbereich ein Drop stattfindet:
C_LONGINT($1) `Referenz auf 4D View Bereich C_LONGINT($2) `Ereignis C_LONGINT($3) `Zusatztaste C_LONGINT($4) `Spaltennummer C_LONGINT($5) `Zeilennummer C_LONGINT($6) `ASCII-Wert des Zeichens C_POINTER(ZeigerQuellbereich;ZeigerZielbereich) `Zeiger auf die 4D View Bereiche C_BLOB($blob) `Temporäre "Zwischenablage" für Drag&Drop C_LONGINT($currentColumn;$currentRow) `Koordinaten der aktuellen Zelle C_LONGINT($destinationColumn;$destinationRow) `Koordinaten für Drop-Aktion Case of : ($2=pv on drag ) PV GET DRAG SOURCE ($1;ZeigerQuellbereich) `Woher kommen wir? : ($2=pv on drop ) PV GET DROP TARGET ($1;ZeigerZielbereich) `Wohin gehen wir? $blob:=PV Copy to blob (ZeigerQuellbereich->) `In die "Zwischenablage" kopieren $destinationColumn:=PV Get drop info (ZeigerZielbereich->;pv drop column ) `Ziel.... $destinationRow:=PV Get drop info (ZeigerZielbereich->;pv drop row ) `...Koordinaten PV GET CURRENT CELL (ZeigerZielbereich->;$currentColumn;$currentRow) `In den Zielbereich setzen PV GOTO CELL (ZeigerZielbereich->;$destinationColumn;$destinationRow) `Setze in zugewiesenen Bereich ein PV PASTE FROM BLOB (ZeigerZielbereich->;$blob;1;1;1;1) `Wieder auf die aktuelle Zelle setzen PV GOTO CELL (ZeigerZielbereich->;$currentColumn;$currentRow) End case
Referenz
PV GET DRAG SIGNATURES, PV SET DROP SIGNATURES.
Konstanten
Themen PV Bereichseigenschaften, PV Drag&Drop erlauben und PV Drop Modus.