Drop position

4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 2004.2 (Geändert)


Drop position {(SpaltenNummer)} Numerisch

ParameterTypBeschreibung
SpaltenNummerLange GanzzahlListbox Spaltennummer oder -1, wenn Drop
außerhalb der letzten Spalte erfolgt
FunktionsergebnisNumerischNummer des Zielelements, Position des Eintrags
(Liste) oder -1, wenn Drop außerhalb des letzten
Elements im Array bzw. Eintrags
in der Liste erfolgt.

Beschreibung

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

Sie verwenden Drop position bei einem Drag&Drop Ereignis, das in einem Array, einer Listbox oder einer hierarchischen Liste 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 SpaltenNummer die Nummer zurück, wo Drop erfolgt ist.

 Ist das Zielobjekt eine hierarchische Liste, gibt die Funktion die Position des Eintrags zurück. Die Funktion gibt in allen Fällen -1 zurück, wenn das Quellobjekt außerhalb des letzten Elements bzw. Eintrags des Zielobjekts bewegt wurde.

Rufen Sie Drop position bei einem Ereignis in einem Array bzw. einer hierarchischen Liste auf, das kein Drag&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.

Beispiel

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

2. Im folgenden Beispiel soll eine Liste bezahlter Beträge nach Monat und Person aufgeteilt werden. Das wird per Drag&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 ELEMENT(SA1;$arrayrow)    `Bereich aktualisieren
   End if
End case

Referenz

Drag and Drop, DRAG AND DROP PROPERTIES.


4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next