PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → W-Langage (Gestion des Evènements)
W-Langage (Gestion des Evènements)
Débuté par ed.dermine.lh, 10 jan. 2006 13:35 - 2 réponses
Posté le 10 janvier 2006 - 13:35
Quelqu'un pourrait-il me dire quelle est la différence EXACTE entre, d'une part, "Entrée" dans un champ et "Prise de Focus", d'autre part, "Sortie" d'un champ et "Perte de Focus" ?

Pour ma part, je n'en vois pas ! Se pourrait-il que, dans certaines (c'est ça, justement ?) circonstances, un des 2 évènements de la "paire" n'est pas "déclenché" ?

Merci de bien vouloir aider un débutant en WinDev !

Cordialement
Posté le 10 janvier 2006 - 14:07
Je pense (mais je peux me tromper, je ne suis qu'un débutant...) que
dans le cas d'une entrée dans un champ, seul le survol de la souris
suffit à déclencher l'évenement. Dans le cas de la Prise de focus, il
faut sélectionner le champ en cliquant dessus avec la souris pour
déclencher l'évenement.

Cela me paraîtrait logique.

Cordialement,

NiCo

Dermine E a écrit :
Quelqu'un pourrait-il me dire quelle est la différence EXACTE entre, d'une part, "Entrée" dans un champ et "Prise de Focus", d'autre part, "Sortie" d'un champ et "Perte de Focus" ?

Pour ma part, je n'en vois pas ! Se pourrait-il que, dans certaines (c'est ça, justement ?) circonstances, un des 2 évènements de la "paire" n'est pas "déclenché" ?

Merci de bien vouloir aider un débutant en WinDev !

Cordialement
Posté le 11 janvier 2006 - 12:13
Merci pour votre réponse.

J'ai fait quelques tests. Voici mes conclusions (je ne sais pas si le sujet a été entièrement "examiné".

En fait, le survol ne provoque rien (à part, bien sûr, l'affichage de la bulle).
En revanche, j'ai constaté ceci:
2 champs "A" et "B".
Le Focus étant sur le champ "A", en cliquant sur le champ "B" (donc, en donnant le Focus au champ "B" ET s'il n'y a pas de "RepriseSaisie" dans la séquence "BoutonGaucheEnfoncé" ou... autre), la séquence des évènements est la suivante:
BoutonGaucheEnfoncé (SANS RepriseSaisie) de "B";
Sortie de "A";
Entrée de "B";
Perte de Focus de "A" et, enfin,
Prise de Focus de "B".

Vous remarquerez que l'Entrée de "B" s'exécute AVANT la Perte de Focus de "A".

Curieux, n'est-il pas ? (Comme diraient les Anglais). Cela peut être utile dans certains cas ???

D'autre part, si, dans la séquence "ToucheEnfoncée" ("Enter" par ex. pour passer du champ "A" au champ "B"), il y a une "RepriseSaisie" sur le champ "B", la séquence "Sortie" du champ "A" n'est pas exécutée; ceci est parfaitement normal, évidemment, étant donné qu'une touche enfoncée NE PEUT PAS provoquer la Sortie du champ sur lequel on presse une touche (Quoique... comme dirait Devos !). En revanche, s'il y a une "RepriseSaisie" (comme expliqué ci-dessus), la séquence "Perte de Focus" de "A" est exécutée (heureusement, d'ailleurs, sinon...?)

Tout ceci pour dire qu'il faut savoir ce que l'on fait (veut faire) lorsqu'on utilise ces séquences. Et, à mon avis, sauf cas particulier, il vaut mieux toujours utiliser les séquences "Prise" et "Perte" de Focus au lieu de "Entrée" et "Sortie"

Tout ceci est, peut-être, évident pour les "cracks" de PcSoft, mais pour les débutants, il faut faire quelques tests pour s'en rendre compte.

En résumé, quelque soit la façon par laquelle on "entre" ou "sort" d'un champ, les séquences "Prise" et "Perte" de focus sont TOUJOURS exécutées, ce qui n'est pas la cas, du moins, de la séquence "Sortie" d'un champ.
En ce qui concerne la séquence "Entrée", là, je ne vois pas la différence avec "Prise de Focus".
Cordialement