4D v16.3Drop position |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Drop position
|
Drop position {( colNum | posXImagen )} -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
colNum | posXImagen | Entero largo |
![]() |
Número de columna del list box (-1 si el soltar ocurre más allá de la última columna)o Posición coordenada X en la imagen | |||||
Resultado | Entero largo |
![]() |
Número (array/ list box) o posición (lista jerárquica) o Posición en cadena (texto/combo box) o elemento de destino o -1 si soltar ocurrió más allá del último elemento del array o de la lista | |||||
El comando Drop position puede utilizarse para descubrir la ubicación, en un objeto de destino “complejo”, donde un objeto ha sido (arrastrado y) soltado.
Generalmente, se utiliza Drop position cuando administra un evento arrastrar y soltar que se produce en un array, un list box, una lista jerárquica, un campo de texto o una imagen.
Si llama Drop position cuando procesa un evento que no es del tipo arrastrar y soltar en un array, un list box, un combo box, una lista jerárquica, un texto o una imagen, el comando devuelve -1.
Importante: para que un objeto de formulario acepte los datos soltados, la propiedad Soltable debe estar seleccionada. Igualmente, su método de objeto debe ser activado por el evento On Drag Over y/o On Drop, para procesar estos eventos.
Ver los ejemplos del comando DRAG AND DROP PROPERTIES.
En el ejemplo siguiente, una lista de sumas debe ser desglosada por mes y por persona. La operación se efectúa arrastrando y soltando en un área de desplazamiento:
El método de objeto del list box contiene el siguiente código:
Case of
:(Form event=On Drag Over)
DRAG AND DROP PROPERTIES($fuente;$arrayfila;$procesnum)
If($fuente=Get pointer("SA1")) `Si soltar proviene del área desplegable
$0:=0
Else
$0:=-1 `Se rechaza soltar
End if
:(Form event=On Drop)
DRAG AND DROP PROPERTIES($source;$arrayrow;$procesnum)
$filanum:=Drop position($colnum)
If($colnum=1)
BEEP
Else
Case of `Adición de los valores soltados
:($colnum=2)
aJuan{$rownum}:=aJuan{$rownum}+SA1{$arrayfila}
:($colnum=3)
aMarcos{$rownum}:=aMarcos{$filanum}+SA1{$arrayfila}
:($colnum=4)
aPedro{$rownum}:=aPedro{$filanum}+SA1{$arrayfila}
End case
DELETE FROM ARRAY(SA1;$arrayfila) `Área de actualización
End if
End case
Producto: 4D
Tema: Arrastrar y soltar
Número
608
Modificado: 4D v11 SQL
Modificado: 4D v12
Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)