| 4D v13PV SET DRAG SIGNATURES | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D View v13
 PV SET DRAG SIGNATURES 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PV SET DRAG SIGNATURES ( Bereich ; Signatur ) | ||||||||
| Parameter | Typ | Beschreibung | ||||||
| Bereich | Lange Ganzzahl |   | 4D View Bereich | |||||
| Signatur | Array String |   | Array Signaturen | |||||
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 and Drop Optionen zuzuweisen:
Ist Drag and 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 and Drop Ereignis kann die Aktion durch den Befehl PV ON EVENT abgefangen werden.
Nachfolgendes Beispiel zeigt Drag and 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 DragDie Projektmethode DragDropMethod wird aufgerufen, wenn Drag mit der Tastenkombination Alt-Klick ausgeführt wird oder im Zielbereich ein Drop stattfindet:
 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
	Produkt: 4D
	Thema: PV Drag and Drop
	Nummer: 
        15935
        
        
        
	
     Alphabetische Liste der Befehle
    Alphabetische Liste der Befehle
	Erstellt: 4D View 6.8
PV GET DRAG SIGNATURES
PV SET DROP SIGNATURES