4D View v16PV ON EVENT |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D View v16
PV ON EVENT
|
PV ON EVENT ( zone ; événement ; méthode ) | ||||||||
Paramètre | Type | Description | ||||||
zone | Entier long |
![]() |
Zone 4D View | |||||
événement | Entier long |
![]() |
Événement 4D View | |||||
méthode | Chaîne |
![]() |
Nom de la méthode | |||||
La commande PV APPELER SUR EVENEMENT est utilisée pour lier une méthode à un événement 4D View. Chaque fois que l’événement survient dans la zone 4D View, la méthode est exécutée.
Pour définir le paramètre événement, utilisez les constantes du thème PV Événements.
La méthode appelée reçoit 6 paramètres de type Entier long et retourne un Booléen dans $0 :
$1 : Référence de la zone 4D View
$2 : Événement
$3 : Code de touche de modification
$4 : Numéro de la colonne
$5 : Numéro de la ligne
$6 : Code ASCII de la touche (si l’événement est un clic, un clic droit ou un double-clic, $6 vaut 0)
Le paramètre $3 peut contenir une des valeurs suivantes (ces valeurs sont additionnées en cas de combinaison de touches) :
0 | Aucune |
512 | Touche Majuscule |
2048 | Touche Alt |
4096 | Touche Ctrl (Windows) / Commande (Mac OS) |
Constante | Type | Valeur |
pv tri croissant | Entier long | 2 |
pv tri décroissant | Entier long | 3 |
Si $0 vaut Vrai, l’événement n'est pas pris en compte.
Si $0 vaut Faux, l’événement est pris en compte.
Note : En vue d'une compilation de la base, il est nécessaire de déclarer les paramètres $0 en Booléen et $1 à $6 en Entier long, même si tous ne sont pas utilisés.
Si le paramètre zone est égal à 0, la commande PV APPELER SUR EVENEMENT s’applique à l’ensemble des nouvelles zones 4D View. Dans ce cas, il est préférable de placer cette commande dans la Méthode base Sur ouverture, exécutée à l’ouverture de la base.
Pour désinstaller la méthode d'appel sur événement, il suffit d'exécuter la commande PV APPELER SUR EVENEMENT avec une chaîne vide en troisième paramètre.
Reportez-vous aux exemples des commandes PV VALIDER CELLULE COURANTE, PV LIRE CELL ACTIVE PRECEDENT, PV LIRE CHAMP CELLULE, PV Lire methode sur evenement et PV ENREGISTRER DOCUMENT.
L’utilisateur a cliqué sur un en-tête de colonne pour effectuer un tri. La méthode MP_Evénement permet de savoir quelle est la colonne qui a été triée et dans quel ordre le tri a été effectué.
//Installation de la méthode qui sera appelée lors de l’événement pv sur tri colonne
PV ON EVENT(zone;pv on column sort;"MP_Evénement")
//Code de la méthode MP_Evénement
C_BOOLEAN($0)
C_LONGINT($1;$2;$3;$4;$5;$6)
C_TEXT($OrdreTri)
If($2=pv on column sort)
Case of
:($6=pv ascending sort)
$OrdreTri:="croissant"
:($6=pv descending sort)
$OrdreTri:="décroissant"
End case
ALERT("Le tri a été effectué sur la colonne "+String($4)+" dans un ordre "+$OrdreTri)
End if
Un double-clic sur un en-tête de colonne provoque le redimensionnement de la colonne. Cependant, un double-clic génère une séquence de deux événements : pv sur clic puis pv sur double clic.
Par conséquent, si le tri a été autorisé via la commande PV FIXER PROPRIETE ZONE, un double-clic sur un en-tête provoquera d’abord le tri de la colonne puis son redimensionnement. Si vous souhaitez qu’un double-clic provoque uniquement le redimensionnement de la colonne, vous devez intercepter et effacer l’événement pv sur clic. En effet, l’événement pv sur clic est généré juste avant que le tri soit effectué. Pour cela, il suffit d’installer une méthode qui sera appelée lors de l’événement pv sur clic :
`Installation de la méthode qui sera appelée lors de l’événement pv sur clic
PV ON EVENT(zone;pv on clicked;"MP_Evénement")
`Code de la méthode MP_Evénement
C_BOOLEAN($0)
C_LONGINT($1;$2;$3;$4;$5;$6)
If($2=pv on clicked)
$0:=True `L’événement est ignoré, le tri n’est pas effectué
End if
Produit : 4D View
Thème : PV Zone
Numéro :
15994
Modifié : 4D View 2004.1
4D View - Langage ( 4D View v16)