On Drag Over
Code | Puede ser llamado por | Definición |
---|---|---|
21 | Área 4D Write Pro - Botón - Rejilla de botones - Casilla de verificación - Lista desplegable - Lista jerárquica - Entrada - Lista - Columna de lista - Botón con imagen - Menú emergente con imagen - Área de Plug-in - Indicadores de progreso - Botón de opción - Regla - Selector - Separador - Pasos - Control de pestañas | Los datos se pueden soltar en un objeto |
Descripción
El evento On Drag Over
se envía repetidamente al objeto de destino cuando el puntero del ratón se mueve sobre el objeto. Normalmente, en respuesta a este evento:
- Obtenga los datos y las firmas que se encuentran en portapapeles (mediante el comando
GET PASTEBOARD DATA
). - Según la naturaleza y el tipo de datos en el portapapeles, se acepta o rechaza el arrastrar y soltar.
To accept the drag, the destination object method must return 0 (zero).
Para rechazar el arrastrar, el método de objeto debe retornar -1 (menos uno).
Durante un evento On Drag Over
, 4D trata el método objeto como una función. Si no se devuelve ningún resultado, 4D asume que el arrastre es aceptado.
Si acepta el arrastre, el objeto de destino se resalta. Si rechaza el arrastre, el destino no se resalta. Aceptar el arrastre no significa que los datos arrastrados vayan a ser insertados en el objeto de destino. Esto solo significa que si se soltara el botón del ratón en este punto, el objeto de destino aceptaría los datos arrastrados y se dispararía el evento On Drop
.
Si no se procesa el evento On Drag Over
para un objeto soltable, ese objeto será resaltado para todas las operaciones de arrastre, sin importar la naturaleza y el tipo de los datos arrastrados.
El evento On Drag Over
es el medio por el que se controla la primera fase de una operación de arrastrar y soltar. No sólo puede probar si los datos arrastrados son de un tipo compatible con el objeto de destino, y luego aceptar o rechazar el arrastre; puede notificar simultáneamente al usuario de este hecho, porque 4D resalta (o no) el objeto de destino, basándose en su decisión.
El código que maneja un evento On Drag Over
debe ser corto y ejecutarse rápidamente, porque ese evento se envía repetidamente al objeto de destino actual, debido a los movimientos del ratón.
Ejemplo
//Destination object method
#DECLARE : Integer
If(Form event code=On Drag Over)
//returns 0 by default
...
If($DataType=Is picture)
return -1
End if
...
End if