4D View v16

PV FIXER SIGNATURES GLISSER

Accueil

 
4D View v16
PV FIXER SIGNATURES GLISSER

PV FIXER SIGNATURES GLISSER 


 

PV FIXER SIGNATURES GLISSER ( zone ; tabSignatures ) 
Paramètre Type   Description
zone  Entier long in Zone 4D View
tabSignatures  Tableau chaîne in Tableau des signatures

La commande PV FIXER SIGNATURES GLISSER définit le contenu du tableau tabSignatures comme signatures de "glisser" pour la zone.

Les signatures sont des chaînes alphanumériques dont le contenu est libre. La longueur maximale d'une signature est de 32 caractères.

Ce sont les propriétés de la zone, définies au moyen de la commande PV FIXER PROPRIETE ZONE, qui permettent d'indiquer les possibilités d'une zone 4D View en matière de glisser-déposer :

Une fois le glisser-déposer autorisé, il pourra intervenir entre deux zones (qui peuvent être la même) à la seule condition qu'elles possèdent au moins une signature commune, de glisser pour la zone source et de déposer pour la zone cible.

L'événement de glisser ou de déposer sera, quant à lui, intercepté par la commande PV APPELER SUR EVENEMENT.

Exemple  

L'exemple ci-dessous fournit une illustration de glisser-déposer entre deux zones 4D View. Commençons par paramétrer les signatures et le comportement des zones, par exemple lors du chargement du formulaire :

 TABLEAU TEXTE($TabSignaturesGD;1)
 $TabSignaturesGD{1}:="Signature_1"
 
 PV FIXER PROPRIETE ZONE(ZoneSource;pv trigger de glisser;pv trigger sur alt clic`alt-clic pour glisser
 PV FIXER PROPRIETE ZONE(ZoneSource;pv glisser autorisé;pv GD cellules multiples)
 PV APPELER SUR EVENEMENT(ZoneSource;pv sur glisser;"MéthodeGlisserDéposer")
 PV FIXER SIGNATURES GLISSER(ZoneSource;$TabSignaturesGD)
 
 PV FIXER PROPRIETE ZONE(ZoneCible;pv déposer autorisé;pv GD cellule unique+
 pv GD cellules contiguës+pv GD cellules multiples)
 PV FIXER PROPRIETE ZONE(ZoneCible;pv mode de déposer;pv déposer remplace uniquement)
 PV APPELER SUR EVENEMENT(ZoneCible;pv sur déposer;"MéthodeGlisserDéposer")
 PV FIXER SIGNATURES DEPOSER(ZoneCible;$TabSignaturesGD`Mêmes signatures que glisser

La méthode projet MéthodeGlisserDéposer sera appelée lors d'un glisser avec alt-clic ou d'un déposer sur la zone cible :

 C_ENTIER LONG($1`Référence de la zone 4D View
 C_ENTIER LONG($2`Événement
 C_ENTIER LONG($3`Code de la touche (modifier)
 C_ENTIER LONG($4`Numéro de la colonne
 C_ENTIER LONG($5`Numéro de la ligne
 C_ENTIER LONG($6`Code ASCII de la touche
 
 C_POINTEUR(PtrZoneSource;PtrZoneCible`Pas de locales pour les conserver entre deux rétro-appels
 C_BLOB($blob`Presse-papiers temporaire du glisser-déposer
 C_ENTIER LONG($colonneCourante;$ligneCourante`Coordonnées de la cellule courante
 C_ENTIER LONG($colonneDest;$ligneDest`Coordonnées de la cellule visée par le déposer
 
 Au cas ou
    :($2=pv sur glisser)
       PV LIRE SOURCE GLISSER($1;PtrZoneSource) `D'où venons-nous ?
 
    :($2=pv sur déposer)
       PV LIRE CIBLE DEPOSER($1;PtrZoneCible) `Où allons-nous ?
 
       $blob:=PV Copier vers blob(PtrZoneSource->) `Copie dans le presse papiers
       $colonneDest:=PV Lire info deposer(PtrZoneCible->;pv déposer colonne`Coordonnées...
       $ligneDest:=PV Lire info deposer(PtrZoneCible->;pv déposer ligne`...de destination
       PV LIRE CELLULE COURANTE(PtrZoneCible->;$colonneCourante;$ligneCourante)
       PV ALLER A CELLULE(PtrZoneCible->;$colonneDest;$ligneDest`Collons à l'endroit désigné
       PV COLLER DEPUIS BLOB(PtrZoneCible->;$blob;1;1;1;1)
  `Rétablissement de la cellule courante une fois l'opération réalisée
       PV ALLER A CELLULE(PtrZoneCible->;$colonneCourante;$ligneCourante)
 Fin de cas



Voir aussi  

PV FIXER SIGNATURES DEPOSER
PV LIRE SIGNATURES GLISSER

 
PROPRIÉTÉS 

Produit : 4D View
Thème : PV Glisser déposer
Numéro : 15935
Nom intl. : PV SET DRAG SIGNATURES

 
HISTORIQUE 

Créé : 4D View 6.8

 
UTILISATION DE L'ARTICLE

4D View - Langage ( 4D View v16)