DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions Drag and Drop
  • Variables
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Indique le type des données et les données à copier/déplacer lors du glisser/déplacer.
Remarques :
  • La fonction DnDDonne doit être utilisée lors de l'appel de l'événement dndDébutGlisser (fonction DnDEvénement).
  • La fonction DnDDonne peut être utilisée plusieurs fois avec des formats différents pour copier plusieurs données de types différents depuis la source.
// Procédure appelée par l'événement dndDébutGlisser
PROCÉDURE DébutGlisser()
// La valeur du champ source "SAI_Saisie" est copiée/déplacée
// Le type de cette donnée est une chaîne de caractères
DnDDonne(CF_TEXT, SAI_Saisie.Valeur)
// Procédure appelée dans le code de Début de Glisser/Déplacer
// pour effectuer du Drag and Drop
// vers l'explorateur de fichiers ou une autre application
PROCÉDURE DNDVersExplorateur(sListeCheminFichier)
 
// Structure Windows permettant de gérer
// le Glisser/Déplacer avec l'explorateur
POINT est une Structure
x, y sont des entiers
FIN
 
DROPFILES est une Structure
// Pointeur vers la liste des fichiers
pFiles est un entier
// Position d'origine de la souris
PT est un POINT
// Réservé
fNC est un booléen
// Vrai si la liste des fichiers est en UNICODE, Faux sinon
fWide est un booléen
FIN
 
// Remplit une structure HDROP
stDROPFILES est un DROPFILES
stDROPFILES:fWide = Vrai // Faux pour Ansi, sinon Unicode,
stDROPFILES:fNC = Vrai // Coordonnées de PT dans zone cliente
stDROPFILES:PT:x = 0
stDROPFILES:PT:y = 0
stDROPFILES:pFiles = Dimension(stDROPFILES) // Taille de la structure
 
// sListeCheminFichier contient la liste des fichiers séparés par RC
// pour les multi-fichiers, le RC est remplacé par un zéro binaire,
// et les 2 zéro binaires de terminaison sont ajoutés
bufListeDeFichiers est un Buffer
SI TypeVar(sListeCheminFichier) = wlChaîneUnicode ALORS
bufListeDeFichiers = Remplace(sListeCheminFichier, RC, ...
CaractUnicode(0)) + CaractUnicode(0) + CaractUnicode(0)
stDROPFILES:fWide = Vrai // Vrai pour Unicode
SINON
bufListeDeFichiers = Remplace(sListeCheminFichier, RC, ...
Caract(0)) + Caract(0) + Caract(0)
stDROPFILES:fWide = Faux // Faux pour Ansi, sinon Unicode,
FIN
 
// Transfert du contenu de la structure dans le buffer
// Calcul de la taille totale nécessaire :
// taille de la structure et de la taille des noms de fichiers
// avec les 2 zéros binaires unicode de terminaison
nTaille est un entier
nTaille = Dimension(stDROPFILES) + Taille(bufListeDeFichiers)
 
// Alloue un buffer pour toutes les informations du DROP
// à la taille souhaitée avec des 0 binaire dedans
bufDonneesDrop est une Buffer
bufDonneesDrop = Répète(Caract(0), nTaille)
// Met les informations de la structure stDROPFILES dans le buffer
Transfert(&bufDonneesDrop, &stDROPFILES, Dimension(stDROPFILES))
// A la suite du buffer, met les noms des fichiers
Transfert(&bufDonneesDrop + Dimension(stDROPFILES), ...
&bufListeDeFichiers, Taille(bufListeDeFichiers))
 
// Indique que c'est un DROP de fichier
DnDDonne(CF_HDROP, &bufDonneesDrop, nTaille)
Syntaxe

Drag and Drop entre des applications WINDEV Masquer les détails

DnDDonne(<Type de données> , <Donnée> [, <Taille>])
<Type de données> : Entier ou chaîne de caractères
Type des données copiées/déplacées.
  • Type de données prédéfini :
    Seuls quelques types de données sont présentés ci-dessous. Pour une liste complète, consultez la documentation Microsoft "Standard Clipboard Formats".
    CF_BITMAP2.BMP (image bitmap)
    CF_DIB8.DIB (bitmap indépendant des gestionnaires de périphériques)
    CF_DIF5Data interchange format (lotus)
    CF_ENHMETAFILE14.EMF (primitives graphiques Windows 32 bits)
    CF_HDROP15Format de fichier "droppé" (sous Windows NT)
    CF_LOCALE16Format local à Windows (sous Windows NT)
    CF_METAFILEPICT3.WMF (fichier de primitives graphiques)
    CF_OEMTEXT7Chaîne OEM terminée par le caractère \0
    CF_PALETTE9Palette (au sens Windows)
    CF_PENDATA10Crayon optique
    CF_RIFF11Format audio
    CF_SYLK4.SLK, Excel, Multiplan
    CF_TEXT1Chaîne ANSI terminée par le caractère \0
    CF_TIFF6.TIF (image TIFF)
    CF_UNICODETEXT13Chaîne texte avec des caractères sur 2 octets (support international)
    CF_WAVE12.WAV (données sonores)
  • Chaîne de caractères :
    Type de données créé préalablement.
    Par exemple :
    Donnée1 est une chaîne = CLIENT.CLE + TAB + FACTURE.PRIX
    DnDDonne("MonType", Donnée1)

    Le type de données "MonType" correspondra à ce qui a été mis dans la chaîne "Donnée".
<Donnée> : Chaîne de caractères
Donnée à récupérer.
<Taille> : Entier optionnel
Nombre d'octets à affecter dans le paramètre <Donnée>.

Drag and Drop entre une application WINDEV et une application Windows Masquer les détails

DnDDonne(<Type de données> , <Pointeur> [, <Taille>])
<Type de données> : Entier ou chaîne de caractères
Type des données copiées/déplacées.
  • Type de données prédéfini :
    Seuls quelques types de données sont présentés ci-dessous. Pour une liste complète, consultez la documentation Microsoft "Standard Clipboard Formats".
    CF_BITMAP2.BMP (image bitmap)
    CF_DIB8.DIB (bitmap indépendant des gestionnaires de périphériques)
    CF_DIF5Data interchange format (lotus)
    CF_ENHMETAFILE14.EMF (primitives graphiques Windows 32 bits)
    CF_HDROP15Format de fichier "droppé" (sous Windows NT)
    CF_LOCALE16Format local à Windows (sous Windows NT)
    CF_METAFILEPICT3.WMF (fichier de primitives graphiques)
    CF_OEMTEXT7Chaîne OEM terminée par le caractère \0
    CF_PALETTE9Palette (au sens Windows)
    CF_PENDATA10Crayon optique
    CF_RIFF11Format audio
    CF_SYLK4.SLK, Excel, Multiplan
    CF_TEXT1Chaîne ANSI terminée par le caractère \0
    CF_TIFF6.TIF (image TIFF)
    CF_UNICODETEXT13Chaîne texte avec des caractères sur 2 octets (support international)
    CF_WAVE12.WAV (données sonores)
  • Chaîne de caractères :
    Type de données créé préalablement.
    Par exemple :
    Donnée1 est une chaîne = CLIENT.CLE + TAB + FACTURE.PRIX
    DnDDonne("MonType", Donnée1)

    Le type de données "MonType" correspondra à ce qui a été mis dans la chaîne "Donnée".
<Pointeur> : Entier
Pointeur sur une chaîne de caractères, une structure, ...
<Taille> : Entier optionnel
Nombre d'octets à affecter dans le paramètre <Pointeur>.
Remarques

Variables

Les variables suivantes peuvent être utilisées :
Nom de la variableDescription
_DND.ActionAction spécifiée dans la fonction DnDAccepte.

Les différentes valeurs possibles sont les suivantes : dndCopier, dndDéplacer et dndInterdit.

Cette variable n'est pas renseignée lors du début d'un glisser/déplacer dans un champ source (constante dndDébutGlisser) ou lors de la sortie d'un champ cible (constante dndSortieChamp).
_DND.ChampCibleNom du champ cible.

Cette variable n'est pas renseignée lors du début d'un glisser/déplacer dans un champ source (constante dndDébutGlisser) ou lors de la sortie d'un champ cible (constante dndSortieChamp).
_DND.ChampSourceNom du champ source.
_DND.CtrlEnfoncéEtat de la touche contrôle Ctrl :
  • Vrai : la touche contrôle Ctrl est enfoncée.
  • Faux : la touche contrôle Ctrl n'est pas enfoncée.
Cette variable n'est pas renseignée lors du début d'un glisser/déplacer dans un champ source (constante dndDébutGlisser) ou lors de la sortie d'un champ cible (constante dndSortieChamp).
_DND.FenSourceNom de la fenêtre source.

Cette variable n'est pas renseignée lors de la sortie d'un champ cible (constante dndSortieChamp).
_DND.SourisPosXPosition horizontale (X) du curseur de souris par rapport au champ manipulé lors de l'événement.

Cette variable n'est pas renseignée lors de la sortie d'un champ cible (constante dndSortieChamp).
_DND.SourisPosYPosition verticale (Y) du curseur de souris par rapport au champ manipulé lors de l'événement.

Cette variable n'est pas renseignée lors de la sortie d'un champ cible (constante dndSortieChamp).

Les variables _DND.ChampSource et _DND.FenSource retournent une chaîne vide ("") lorsque le glisser/déplacer provient d'une application différente de l'application en cours.
Composante : wd300obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale