- NOM
- focus - Gestion du focus
- SYNTAXE
- focus
- focus fenêtre
- focus option ?arg arg ...?
- DESCRIPTION
- focus
- focus fenêtre
- focus -displayof fenêtre
- focus -force fenêtre
- focus -lastfor fenêtre
- QUIRKS
- MOTS-CLES
focus - Gestion du focus
focus
focus fenêtre
focus option ?arg arg ...?
La commande focus est utilisée pour gérer le focus Tk.
A tout instant, une fenêtre de chaque écran est désignée comme
la focus window; tout évènements d'appui ou de relachement d'une touche pour cet
écran sont envoyés à cette fenêtre.
C'est normalement la tâche du gestionnaire de fenêtres de rediriger le focus parmi les
fenêtres top-level d'un écran. Par exemple, certains gestionnaires de fenêtres
donnent automatiquement le focus à une fenêtre top-level chaque fois que
la souris y entre; d'autres redirigent le focus seulement quand
l'utilisateur clique dans une fenêtre.
Usuellement le gestionnaire de fenêtres positionnera le focus
seulement dans les fenêtres top-level, laissant à l'application le soin
de rediriger le focus parmi les enfants de la top-level.
Tk mémorise une focus window pour chaque top-level (le plus recent
descendant de cette top-level à recevoir le focus); quand le gestionnaire de fenêtres donne le focus
à une top-level, Tk le redirige automatiquement vers la
fenêtre mémorisée. A l'intérieur d'une top-level Tk utilise un modèle de focus explicite
par défaut. Déplacer la souris à l'intérieur d'une top-level ne
change normalement pas le focus; le focus change seulement quand un widget
décide explicitement de réclamer le focus (ex., à cause d'un clic sur un bouton
), ou quand l'utilisateur frappe une touche comme Tab qui déplace le
focus.
La procédure Tcl tk_focusFollowsMouse peut être appelée pour
créer un modèle de focus implicite: elle reconfigure Tk pour que
le focus soit positionné dans une fenêtre chaque fois que la souris y entre.
Les procédures Tcl tk_focusNext et tk_focusPrev
implémentent l'ordre du focus parmi les fenêtres d'une top-level; elles
sont utilisées dans les bindings par défaut de Tab et Shift-Tab, entre autres
choses.
La commande focus peut prendre n'importe quelle des formes suivantes:
- focus
-
Retourne le nom de chemin de la fenêtre qui a le focus sur l'écran contenant
la fenêtre principale de l'application, ou une chaîne vide si aucune fenêtre de
cette application n'a le focus sur cet écran. Note: il est
préférable de spécifier l'écran explicitement en utilisant -displayof
(voir ci-dessous) ainsi le code fonctionnera dans les applications utilisant plusieurs
écrans.
- focus fenêtre
-
Si l'application a actuellement le focus sur fenêtre, cette commande réinitialise le focus de fenêtre de l'écran
vers fenêtre et retourne une chaîne vide.
Si l'application ne détient pas actuellement le focus sur
fenêtre de l'écran, fenêtre sera mémorisée comme le focus
pour sa top-level; la prochaine fois que le focus se déplace vers la top-level,
Tk le redirigera vers fenêtre.
Si fenêtre est une chaîne vide alors la commande ne fait rien.
- focus -displayof fenêtre
-
Retourne le nom de la fenêtre qui a le focus à l'écran contenant fenêtre.
Si la fenêtre qui a le focus pour l'écran de fenêtre n'est pas dans cette
application, la valeur de retour est une chaîne vide.
- focus -force fenêtre
-
Déplace le focus vers fenêtre, même si
l'application n'a pas actuellement le focus pour l'écran.
cette commande doit être utilisée avec précaution.
Dans des conditions normales, une application ne doit pas demander le focus
elle-même; à la place, elle doit attendre que le gestionnaire de fenêtres lui donne
le focus.
Si fenêtre est une chaîne vide alors la commande ne fait rien.
- focus -lastfor fenêtre
-
Retourne le nom de la dernière fenêtre qui a reçu le focus
parmi toutes celles situées dans la même top-level que fenêtre.
Si aucune fenêtre dans cette top-level n'a reçu le focus, ou
si la dernière fenêtre a été effacée, alors le nom
de la top-level est retourné. La valeur de retour est la fenêtre qui
recevra le focus la prochaine fois que le gestionnaire de fenêtres donnera
le focus à la top-level.
Quand une fenêtre interne reçoit le focus, Tk ne positionne pas le
focus X sur cette fenêtre; tant que X est concerné, le focus
reste sur la fenêtre top-level contenant la fenêtre avec le focus.
Néanmoins, Tk génère des évènements FocusIn et FocusOut comme si le focus X
était sur la fenêtre interne. Cette approche résout plusieurs
problèmes qui se produiraient si le focus X était déplacé;
le fait que le focus X qui est sur la top-level est invisible à moins
que vous utilisiez du code C pour consulter le serveur X directement.
évènements, focus, keyboard, top-level, gestionnaire de fenêtres
Copyright © 1990-1994 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.
Copyright © 1995-1997 Roger E. Critchlow Jr.
Copyright © 2003 - Le Portail Tcl/Tk Francophone.