|
|
|
|
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.
// 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_BITMAP | 2 | BMP (bitmap Image) | CF_DIB | 8 | DIB (mapa de bits independiente de los administradores de dispositivos) | CF_DIF | 5 | Formato de intercambio de datos (loto) | CF_ENHMETAFILE | 14 | EMF (Windows 32-bit graphic primitives) | CF_HDROP | 15 | Formato del archivo "dropped" (en Windows NT) | CF_LOCALE | 16 | Formatear local a Windows (en Windows NT) | CF_METAFILEPICT | 3 | .WMF (archivo gráfico primitivo) | CF_OEMTEXT | 7 | Cadena OEM terminada con un carácter \0 | CF_Palette | 9 | Palette (estándar de Windows) | CF_PENDATA | 10 | Bolígrafo óptico | CF_RIFF | 11 | Audio format | CF_SYLK | 4 | .SLK, Excel, Multiplan | CF_TEXT | 1 | Cadena ANSI que termina con un carácter \0 | CF_Tiff | 6 | .TIF (TIFF Image) | CF_UNICODETEXT | 13 | Cadena de texto con caracteres codificados en 2 bytes (soporte para internacionalización) | CF_WAVE | 12 | WAV (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_BITMAP | 2 | BMP (bitmap Image) | CF_DIB | 8 | DIB (mapa de bits independiente de los administradores de dispositivos) | CF_DIF | 5 | Formato de intercambio de datos (loto) | CF_ENHMETAFILE | 14 | EMF (Windows 32-bit graphic primitives) | CF_HDROP | 15 | Formato del archivo "dropped" (en Windows NT) | CF_LOCALE | 16 | Formatear local a Windows (en Windows NT) | CF_METAFILEPICT | 3 | .WMF (archivo gráfico primitivo) | CF_OEMTEXT | 7 | Cadena OEM terminada con un carácter \0 | CF_Palette | 9 | Palette (estándar de Windows) | CF_PENDATA | 10 | Bolígrafo óptico | CF_RIFF | 11 | Audio format | CF_SYLK | 4 | .SLK, Excel, Multiplan | CF_TEXT | 1 | Cadena ANSI que termina con un carácter \0 | CF_Tiff | 6 | .TIF (TIFF Image) | CF_UNICODETEXT | 13 | Cadena de texto con caracteres codificados en 2 bytes (soporte para internacionalización) | CF_WAVE | 12 | WAV (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 Se pueden utilizar las siguientes variables: | | Nombre de la variable | description |
---|
Acción _DND.acción | Acció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.TargetControl | Nombre 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.SourceControl | Nombre de la fuente control. | CtrlDown | Estado 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.SourceWin | Nombre de la ventana de fuente.
Esta variable no se especifica al salir de un control de destino (constante dndDragLeave). | DND.MouseXPos | Posició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.MouseYPos | Posició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.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|