AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Controles, páginas y ventanas / Funciones de arrastrar y soltar
  • Variables
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Indica el tipo de datos y los datos que se deben copiar/mover al arrastrar y soltar.
Observaciones:
  • La función DnDCacheData debe utilizarse al llamar al evento dndBeginDrag (función DnDEvent).
  • La función DnDCacheData puede utilizarse varias veces con formatos diferentes para copiar diferentes tipos de datos desde la fuente.
Ejemplo
// Procedure called by the dndBeginDrag event
PROCEDURE BeginDrag()
// The value of the source control ("EDT_Edit") is copied/moved
// This data is a character string
DnDCacheData(CF_TEXT, EDT_Edit.Value)
// Procedure called in the code for Beginning of Drag/Drop
// to perform a Drag and Drop
// to the file explorer or to another application
PROCEDURE DNDToExplorer(sListFilePaths)
 
// Windows structure used to manage
// Drag/Drop with the explorer
POINT is Structure
x, y are int
END
 
DROPFILES is Structure
// Pointer to the list of files
pFiles is int
// Source position of mouse
PT is POINT
// Reserved
fNC is boolean
// True if the list of files is in UNICODE, False otherwise
fWide is boolean
END
 
// Fills a HDROP structure
stDROPFILES is DROPFILES
stDROPFILES:fWide = True // False for Ansi, otherwise Unicode,
stDROPFILES:fNC = True // Coordinates of PT in client area
stDROPFILES:PT:x = 0
stDROPFILES:PT:y = 0
stDROPFILES:pFiles = Dimension(stDROPFILES) // Size of structure
 
// sListFilePaths contains the list of files separated by CR characters
// for the multi-files, the CR character is replaced with a binary zero,
// and the 2 ending binary zeros are added
bufListOfFiles is Buffer
IF TypeVar(sListFilePaths) = wlUnicodeString THEN
bufListOfFiles = Replace(sListFilePaths, CR, ...
CharactUnicode(0)) + CharactUnicode(0) + CharactUnicode(0)
stDROPFILES:fWide = True // True for Unicode
ELSE
bufListOfFiles = Replace(sListFilePaths, CR, ...
Charact(0)) + Charact(0) + Charact(0)
stDROPFILES:fWide = False // False for Ansi, otherwise Unicode,
END
 
// Transfer the content of the structure into the buffer
// Calculate the necessary total size:
// size of structure and size of file names
// with the 2 ending Unicode binary zeros
nSize is int
nSize = Dimension(stDROPFILES) + Length(bufListOfFiles)
 
// Allocates a buffer for the DROP information
// to the requested size with binary zeros
bufDropData is Buffer
bufDropData = RepeatString(Charact(0), nSize)
// Includes the information of the stDROPFILES structure in the buffer
Transfer(&bufDropData, &stDROPFILES, Dimension(stDROPFILES))
// After the buffer, includes the names of files
Transfer(&bufDropData + Dimension(stDROPFILES), ...
&bufListOfFiles, Length(bufListOfFiles))
 
// Indicates that it is a file DROP
DnDCacheData(CF_HDROP, &bufDropData, nSize)
Sintaxis

Arrastrar y soltar entre las aplicaciones de WINDEV Ocultar los detalles

DnDCacheData(<Type of data> , <Data> [, <Size>])
<Type of data>: Entero o cadena de caracteres
Tipo de datos copiados/movidos.
  • Tipos de datos preestablecidos:
    A continuación se presentan sólo algunos tipos de datos. Para más detalles, consulte la documentación de Microsoft ("Formatos estándar del portapapeles").
    CF_BITMAP2BMP (bitmap Image)
    CF_DIB8DIB (mapa de bits independiente de los administradores de dispositivos)
    CF_DIF5Formato de intercambio de datos (loto)
    CF_ENHMETAFILE14EMF (Windows 32-bit graphic primitives)
    CF_HDROP15Formato del archivo "dropped" (en Windows NT)
    CF_LOCALE16Formatear local a Windows (en Windows NT)
    CF_METAFILEPICT3.WMF (archivo gráfico primitivo)
    CF_OEMTEXT7Cadena OEM terminada con un carácter \0
    CF_Palette9Palette (estándar de Windows)
    CF_PENDATA10Bolígrafo óptico
    CF_RIFF11Audio format
    CF_SYLK4.SLK, Excel, Multiplan
    CF_TEXT1Cadena ANSI que termina con un carácter \0
    CF_Tiff6.TIF (TIFF Image)
    CF_UNICODETEXT13Cadena de texto con caracteres codificados en 2 bytes (soporte para internacionalización)
    CF_WAVE12WAV (datos de sonido)
  • Cadena de caracteres:
    Tipo de datos creados de antemano.
    Por ejemplo:
    Data1 is string = CUSTOMER.KEY + TAB + INVOICE.PRICE
    DnDCacheData("MyType", Data1)

    El tipo "MyType" corresponderá a lo que se asignó a la cadena "Data".
<Data>: Cadena de caracteres
Datos a recuperar.
<Size>: Entero opcional
Número de bytes que se asignarán a <Datos>..

Arrastrar y soltar entre una aplicación WINDEV y una aplicación de Windows Ocultar los detalles

DnDCacheData(<Type of data> , <Pointer> [, <Size>])
<Type of data>: Entero o cadena de caracteres
Tipo de datos copiados/movidos.
  • Tipos de datos preestablecidos:
    A continuación se presentan sólo algunos tipos de datos. Para más detalles, consulte la documentación de Microsoft ("Formatos estándar del portapapeles").
    CF_BITMAP2BMP (bitmap Image)
    CF_DIB8DIB (mapa de bits independiente de los administradores de dispositivos)
    CF_DIF5Formato de intercambio de datos (loto)
    CF_ENHMETAFILE14EMF (Windows 32-bit graphic primitives)
    CF_HDROP15Formato del archivo "dropped" (en Windows NT)
    CF_LOCALE16Formatear local a Windows (en Windows NT)
    CF_METAFILEPICT3.WMF (archivo gráfico primitivo)
    CF_OEMTEXT7Cadena OEM terminada con un carácter \0
    CF_Palette9Palette (estándar de Windows)
    CF_PENDATA10Bolígrafo óptico
    CF_RIFF11Audio format
    CF_SYLK4.SLK, Excel, Multiplan
    CF_TEXT1Cadena ANSI que termina con un carácter \0
    CF_Tiff6.TIF (TIFF Image)
    CF_UNICODETEXT13Cadena de texto con caracteres codificados en 2 bytes (soporte para internacionalización)
    CF_WAVE12WAV (datos de sonido)
  • Cadena de caracteres:
    Tipo de datos creados de antemano.
    Por ejemplo:
    Data1 is string = CUSTOMER.KEY + TAB + INVOICE.PRICE
    DnDCacheData("MyType", Data1)

    El tipo "MyType" corresponderá a lo que se asignó a la cadena "Data".
<Pointer>: Integro
Puntero a un string, a una estructura, ....
<Size>: Entero opcional
Número de bytes que se asignarán a <Pointer>>..
Observaciones

Variables

Se pueden utilizar las siguientes variables:
Nombre de la variabledescription
Acción _DND.acciónAcción especificada en DnDAccepto.

Los valores posibles son: dndCopy, dndMove y dndNone.

Esta variable no se asigna al principio de la acción Arrastrar y soltar en un control fuente (constante dndBeginDrag) o al salir de un control de destino(constante dndDragLeave).
DND.TargetControlNombre del objetivo control.

Esta variable no se asigna al principio de la acción Arrastrar y soltar en un control fuente (constante dndBeginDrag) o al salir de un control de destino(constante dndDragLeave).
DND.SourceControlNombre de la fuente control.
CtrlDownEstado de la tecla Ctrl:
  • True: se pulsa la tecla Ctrl.
  • False: la tecla Ctrl no está pulsada.
Esta variable no se asigna al principio de la acción Arrastrar y soltar en un control fuente (constante dndBeginDrag) o al salir de un control de destino(constante dndDragLeave).
DND.SourceWinNombre de la ventana de fuente.

Esta variable no se especifica al salir de un control de destino (constante dndDragLeave).
DND.MouseXPosPosición horizontal (X) del cursor del ratón en relación con el control manejado durante la Event.

Esta variable no se especifica al salir de un control de destino (constante dndDragLeave).
DND.MouseYPosPosición vertical (Y) del cursor del ratón en relación con el control manejado durante la Event.

Esta variable no se especifica al salir de un control de destino (constante dndDragLeave).

El DND.SourceControl y DND.SourceWin devuelven una cadena vacía (""") cuando la función de arrastrar y soltar proviene de una aplicación distinta a la actual.
Componente: wd290obj.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local