<< Retour au sommaire

 

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