|
|
|
|
|
DnDDonne (Fonction) En anglais : DnDCacheData 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_BITMAP | 2 | .BMP (image bitmap) | CF_DIB | 8 | .DIB (bitmap indépendant des gestionnaires de périphériques) | CF_DIF | 5 | Data interchange format (lotus) | CF_ENHMETAFILE | 14 | .EMF (primitives graphiques Windows 32 bits) | CF_HDROP | 15 | Format de fichier "droppé" (sous Windows NT) | CF_LOCALE | 16 | Format local à Windows (sous Windows NT) | CF_METAFILEPICT | 3 | .WMF (fichier de primitives graphiques) | CF_OEMTEXT | 7 | Chaîne OEM terminée par le caractère \0 | CF_PALETTE | 9 | Palette (au sens Windows) | CF_PENDATA | 10 | Crayon optique | CF_RIFF | 11 | Format audio | CF_SYLK | 4 | .SLK, Excel, Multiplan | CF_TEXT | 1 | Chaîne ANSI terminée par le caractère \0 | CF_TIFF | 6 | .TIF (image TIFF) | CF_UNICODETEXT | 13 | Chaîne texte avec des caractères sur 2 octets (support international) | CF_WAVE | 12 | .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_BITMAP | 2 | .BMP (image bitmap) | CF_DIB | 8 | .DIB (bitmap indépendant des gestionnaires de périphériques) | CF_DIF | 5 | Data interchange format (lotus) | CF_ENHMETAFILE | 14 | .EMF (primitives graphiques Windows 32 bits) | CF_HDROP | 15 | Format de fichier "droppé" (sous Windows NT) | CF_LOCALE | 16 | Format local à Windows (sous Windows NT) | CF_METAFILEPICT | 3 | .WMF (fichier de primitives graphiques) | CF_OEMTEXT | 7 | Chaîne OEM terminée par le caractère \0 | CF_PALETTE | 9 | Palette (au sens Windows) | CF_PENDATA | 10 | Crayon optique | CF_RIFF | 11 | Format audio | CF_SYLK | 4 | .SLK, Excel, Multiplan | CF_TEXT | 1 | Chaîne ANSI terminée par le caractère \0 | CF_TIFF | 6 | .TIF (image TIFF) | CF_UNICODETEXT | 13 | Chaîne texte avec des caractères sur 2 octets (support international) | CF_WAVE | 12 | .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 Les variables suivantes peuvent être utilisées : | | Nom de la variable | Description |
---|
_DND.Action | Action 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.ChampCible | Nom 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.ChampSource | Nom 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.FenSource | Nom de la fenêtre source.
Cette variable n'est pas renseignée lors de la sortie d'un champ cible (constante dndSortieChamp). | _DND.SourisPosX | Position 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.SourisPosY | Position 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
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|