versión 11 (Modificado)
Drop position {(colNum)} Numérico
Parámetro | Tipo | Descripción | |
colNum | Entero largo | Número de la columna del list box o | |
-1 si el soltar ocurre más allá de la última columna | |||
Resultado | Numérico | 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 |
Descripción
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, usted utilizará Drop position cuando administra un evento arrastrar y soltar que ocurrió en un array, un list box, una lista jerárquica o un campo de texto.
Si el objeto de destino es un array, el comando devuelve un número de elemento.
Si el objeto de destino es un list box, el comando devuelve un número de fila. En este caso, el comando también devuelve el número de columna donde se soltó en el parámetro opcional colNum.
Si el objeto de destino es una lista jerárquica, el comando devuelve una posición del elemento.
Si el objeto de destino es una variable o un campo tipo texto, o un combo box, el comando devuelve una posición de carácter al interior de la cadena.
En todos los casos, el comando puede devolver -1 si el objeto fuente ha sido soltado más allá del último elemento o del último elemento del objeto de destino.
Si llama Drop position cuando gestiona un evento que no es del tipo arrastrar y soltar y que ocurre en un array, un list box, un combo box, una lista jerárquica o un texto el comando devuelve -1.
Importante: Un objeto de formulario acepta datos soltados si la propiedad Soltable ha sido seleccionada. Igualmente, su método de objeto debe se activado para On Drag Over y/o On Drop, para procesar estos eventos.
Ejemplos
1. Ver los ejemplos del comando DRAG AND DROP PROPERTIES.
2. 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
Ver también
Arrastrar y soltar, DRAG AND DROP PROPERTIES.