4D v16.3

Drop position

Home

 
4D v16.3
Drop position

Drop position 


 

Drop position {( SpaltenNr | BildPosY )} -> Funktionsergebnis 
Parameter Typ   Beschreibung
SpaltenNr | BildPosY  Lange Ganzzahl in Spaltennummer der Listbox (-1 wenn Drop außerhalb der letzten Spalte erfolgt) oder Position der Y Koordinate im Bild
Funktionsergebnis  Lange Ganzzahl in Zahl (Array/Listbox) oder
• Position (hierarchische Liste) oder
• Position in String (Text/Combobox) des Zieleintrags oder
• -1, wenn Drop außerhalb des letzten Array Elements oder Listeneintrags erfolgt oder
• Position der X Koordinate im Bild

Die Funktion Drop position findet in einem "komplexen" Zielobjekt die Stelle, an die ein Objekt per Drag-and-Drop bewegt wurde.

Sie verwenden Drop position bei einem Drag-and-Drop Ereignis, das in einem Array, einer Listbox, einer hierarchischen Liste oder einem Feld vom Typ Text oder Bild auftritt.

  • Ist das Zielobjekt ein Array, gibt die Funktion eine Elementnummer zurück.
  • Ist das Zielobjekt eine Listbox, gibt die Funktion eine Zeilennummer zurück. In diesem Fall gibt die Funktion im optionalen Parameter SpaltenNr die Nummer zurück, wo Drop erfolgt ist.
  • Ist das Zielobjekt eine hierarchische Liste, gibt die Funktion die Position des Eintrags zurück.
  • Ist das Zielobjekt ein Text vom Typ Variable oder Feld, oder eine Combobox, gibt die Funktion die Position des Zeichens innerhalb des Strings zurück.
    Die Funktion gibt in all diesen Fällen -1 zurück, wenn das Quellobjekt außerhalb des letzten Elements bzw. Eintrags des Zielobjekts bewegt wurde.
  • Ist das Zielobjekt ein Bild vom Typ Variable oder Feld, gibt die Funktion die vertikale und über den optionalen Parameter BildPosY die horizontale Position des Klicks zurück. Die zurückgegebenen Werte werden in Pixel und in Relation zum lokalen Koordinatensystem ausgedrückt.

Rufen Sie Drop position bei einem Ereignis in einem Array, einer Listbox, einer Combobox, einer hierarchischen Liste oder einem Text auf, das kein Drag-and-Drop Ereignis ist, gibt die Funktion ebenfalls -1 zurück.

Wichtig: Ein Formularobjekt nimmt bewegte Daten nur an, wenn die Eigenschaft dropfähig zugewiesen ist. Außerdem muss die dazugehörige Objektmethode für On Drag Over und/oder On Drop aktiviert sein, damit diese Ereignisse durchgeführt werden.

Siehe Beispiele für den Befehl DRAG AND DROP PROPERTIES.

Im folgenden Beispiel soll eine Liste bezahlter Beträge nach Monat und Person aufgeteilt werden. Das wird per Drag-and-Drop aus einem rollbaren Bereich ausgeführt.

Die Objektmethode der Listbox enthält folgenden Code:

 Case of
    :(Form event=On Drag Over)
       DRAG AND DROP PROPERTIES($source;$arrayrow;$processnum)
       If($source=Get pointer("SA1"))
  `Wenn Drop vom rollbaren Bereich kommt
          $0:=0
       Else
          $0:=-1 `Drop ist abgelehnt
       End if
    :(Form event=On Drop)
       DRAG AND DROP PROPERTIES($source;$arrayrow;$processnum)
       $rownum:=Drop position($colnum)
       If($colnum=1)
          BEEP
       Else
          Case of `Gezogene Werte hinzufügen
                $colnum=2
                arrJohann{$rownum}:=arrJohann{$rownum}+SA1{$arrayrow}
                $colnum=3
                arrMark{$rownum}:=arrMark{$rownum}+SA1{$arrayrow}
                $colnum=4
                arrPeter{$rownum}:=arrPeter{$rownum}+SA1{$arrayrow}
          End case
          DELETE FROM ARRAY(SA1;$arrayrow`Bereich aktualisieren
       End if
 End case



Siehe auch 

DRAG AND DROP PROPERTIES
Einführung in Drag and Drop

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Drag and Drop
Nummer: 608

 
GESCHICHTE 

Geändert: 4D v11 SQL
Geändert: 4D v12

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)