4D View v16

PV SELECT RANGE

Accueil

 
4D View v16
PV SELECT RANGE

PV SELECT RANGE 


 

PV SELECT RANGE ( zone ; gauche ; haut ; droit ; bas ; action ) 
Paramètre Type   Description
zone  Entier long in Zone 4D View
gauche  Entier long in Numéro de colonne des cellules de gauche
haut  Entier long in Numéro de ligne des cellules du haut
droit  Entier long in Numéro de colonne des cellules de droite
bas  Entier long in Numéro de ligne des cellules du bas
action  Entier in Action de sélection

La commande PV SELECTIONNER PLAGE sélectionne la plage de cellules définie par gauche, haut, droit et bas.

Le paramètre action permet de définir l’action de sélection que vous souhaitez effectuer lorsqu’une sélection de cellules existe déjà : vous pouvez créer une nouvelle plage, ajouter la plage à la sélection ou supprimer la plage de la sélection. Utilisez les constantes du thème PV Actions de sélection pour définir ce paramètre :

Constante Type Valeur Comment
pv selection add Entier long 1 La nouvelle sélection est ajoutée à la sélection existante.
pv selection reduce Entier long 2 La sélection est ôtée de la sélection existante. Si la cellule courante se trouve parmi les éléments désignés, elle est désélectionnée et la zone ne contient plus de cellule courante.
pv selection set Entier long 0 La nouvelle sélection remplace la sélection existante.

Nous souhaitons sélectionner la plage de cellules E2, E3, F2, F3. L’action de sélection dépendra du contexte (plage entièrement sélectionnée) et, le cas échéant, du choix de l’utilisateur.

  `Tableaux définissant la sélection existante :
 ARRAY LONGINT($TabGauche;0) `Numéros de colonne des cellules de gauche
 ARRAY LONGINT($TabHaut;0) `Numéros de ligne des cellules du haut
 ARRAY LONGINT($TabDroit;0) `Numéros de colonnes des cellules de droite
 ARRAY LONGINT($TabBas;0) `Numéros de lignes des cellules du bas
 
  `Plages sélectionnées :
 PV GET SELECTED RANGES LIST(Zone;$TabGauche;$TabHaut;$TabDroit;$TabBas)
 
 If(Size of array($TabGauche)=0) `Rien de sélectionné
    PV SELECT RANGE(Zone;5;2;6;3;pv selection set`Fixons la sélection à la plage
 
 Else `D'autres plages sont déjà sélectionnées
    CONFIRM("Étendre la sélection existante ?";"Oui";"Non")
    If(OK=1) `Sélection multiple incluant la plage
       PV SELECT RANGE(Zone;5;2;6;3;pv selection add)
    Else
       PV SELECT RANGE(Zone;5;2;6;3;pv selection set`Sélection réduite à la plage
    End if
 End if

Cet exemple permet de sélectionner ou de désélectionner la cellule dans laquelle l’utilisateur a effectué Alt+clic (Windows) ou Option+clic (Mac OS), suivant qu’elle appartient déjà ou non à la sélection.

  `Définition de la plage de sélection courante
 PV SELECT RANGE(zone;1;5;2;9;pv selection set)
 
  `Appel d’une méthode en cas de clic dans la zone
 PV ON EVENT(zone;pv on clicked;"ExempleView")
 
  `Méthode ExempleView
 C_LONGINT($1;$2;$3;$4;$5)
 If(($2=pv on clicked)&($3=2048)) `Alt + clic ou Option + clic
    If(PV Is cell selected(zone;$4;$5)=1)
  `Si la cellule appartient à la sélection, on la retire de la sélection
       PV SELECT RANGE(zone;$4;$5;$4;$5;pv selection reduce)
    Else
  `Si la cellule n’appartient pas à la sélection, on l’y ajoute
       PV SELECT RANGE(zone;$4;$5;$4;$5;pv selection add)
    End if
 End if



Voir aussi  

PV GET CURRENT CELL
PV Is range selected

 
PROPRIÉTÉS 

Produit : 4D View
Thème : PV Sélection
Numéro : 15945

 
HISTORIQUE 

Modifié : 4D View 2004.4

 
UTILISATION DE L'ARTICLE

4D View - Langage ( 4D View v16)