La
fonction FocusChangedEvent
Cette fonction est exécutée à chaque fois qu’il y a une nouvelle prise de focus dans un objet.
Une prise de focus a généralement lieue lorsqu’une nouvelle fenêtre apparaît à l’écran, ou lorsque l’utilisateur se déplace dans une fenêtre à partir d’un raccourci clavier comme par exemple TAB et MAJ +TAB.
La
syntaxe :
Void Function
FocusChangedEvent (handle FocusWindow, handle PrevWindow)
EndFunction
La
description :
Void signifie que cette fonction
ne retourne aucune valeur.
Les variable FocusWindow et PrevWindow sont des variables intégrées qui contiennent automatiquement les contrôles ID suivants :
PrevWindow contient le Contrôle ID de la fenêtre précédente.
FocusWindow contient le contrôle ID de la fenêtre courante.
Vous pouvez donc utiliser ces deux variables pour déterminer la position de la fenêtre qui contient le focus.
Mais attention, lorsque vous créez une fonction FocusChangedevent dans le fichier source d’une application, cette même fonction située dans le fichier source DEFAULT.JSS ne sera pas exécutée. Vous devez par conséquent prévoir l’intégration d’un script de lecture automatique de la fenêtre courante avec :
PerformScript SayWindowPromptAndText()
Voici un exemple :
Dans la fenêtre « Enregistrer sous » du blocnotes, en activant le mode Home Row, vous constaterez que pour le bouton « Enregistrer », le Contrôle ID est 1.
Pour la fenêtre qui précède ce bouton, c’est-à-dire la zone à liste déroulante « Type du document », le Contrôle ID est 1136.
Voici donc un script qui dit :
« Vous êtes sur”, et ce, à chaque fois qu’il y aura
prise de Focus sur le bouton “Enregistrer”.
Void Function
FocusChangedEvent (handle FocusWindow, handle PrevWindow)
If
GetControlID(FocusWindow) == 1 && GetControlID(PrevWindow) == 1136 Then
sayString ("Vous êtes sur le")
EndIf
PerformScript SayWindowPromptAndText()
EndFunction
A partir d’un script d’application, vous pouvez forcer
l’exécution de la fonction FocusChangedEvent du Default.jss en réexécutant la
fonction.
Void Function
FocusChangedEvent (handle FocusWindow, handle PrevWindow)
; réexécution de la fonction du Default.jss
FocusChangedEvent (FocusWindow,PrevWindow)
sayString (« La fonction FocusChangedEvent du Default.jss
vient d’être exécutée. »)
EndFunction
Rien ne vous empêche d’ailleurs de rajouter du code après
l’exécution de la fonction FocusChangedEvent du Default.jss, c’est la raison pour laquelle, dans l’exemple
précédemment cité, que nous avons écrit un SayString.
Philippe
BOULANGER