4D View v16PV GET PREVIOUS ACTIVE CELL |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D View v16
PV GET PREVIOUS ACTIVE CELL
|
PV GET PREVIOUS ACTIVE CELL ( zone ; colonne ; ligne ) | ||||||||
Paramètre | Type | Description | ||||||
zone | Entier long |
![]() |
Zone 4D View | |||||
colonne | Entier long |
![]() |
Numéro de la colonne de la cellule | |||||
ligne | Entier long |
![]() |
Numéro de la ligne de la cellule | |||||
La commande PV LIRE CELL ACTIVE PRECEDENT retourne dans les paramètres colonne et ligne les coordonnées de la cellule active précédente de la zone.
Note : Il n’y a pas de “pile” de cellules actives, seule la cellule active précédente peut être connue — et non celles qui étaient actives au préalable. Il vous appartient donc de gérer la mémorisation des cellules actives successives en cas de besoin, par exemple pour installer plusieurs niveaux d’annulation.
Dans l’exemple ci-dessous, nous allons créer un effet de “rebond” sur une cellule donnée. Mettons en place une méthode de gestion des événements, qui sera appelée à chaque changement de cellule active :
PV ON EVENT(Zone;pv on active cell changed;"MéthodeEvénement")
La méthode projet MéthodeEvénement fait “rebondir” l’utilisateur sur la cellule C5. Dès que cette dernière cellule est atteinte, c’est la cellule courante précédente qui redevient active, interdisant de ce fait la sélection de C5 par quelque moyen que ce soit : commande 4D View, touche clavier, souris, etc.
`Méthode : MéthodeEvénement
`Avec cette méthode, nous "rebondissons" sur la cellule C5
C_LONGINT($1) `Référence de la zone 4D View
C_LONGINT($2) `Événement
C_LONGINT($3) `Code de la touche de modification
C_LONGINT($4) `Numéro de la colonne
C_LONGINT($5) `Numéro de la ligne
C_LONGINT($6) `Code ASCII de la touche
C_LONGINT($Colonne;$Ligne) `Coordonnées de la cellule (courante puis précédente)
C_BOOLEAN($0) `Retour de fonction
$0:=False
PV GET CURRENT CELL($1;$Colonne;$Ligne) `Récupération des coordonnées
If($Colonne=3) & ($Ligne=5) `La cellule C5 est courante
PV GET PREVIOUS ACTIVE CELL($1;$Colonne;$Ligne) `Cellule précédente
PV GOTO CELL($1;$Colonne;$Ligne) `Redevient courante
End if
Produit : 4D View
Thème : PV Cellule courante
Numéro :
15929
Créé : 4D View 6.8
4D View - Langage ( 4D View v16)