Focus sur «InputField» lors de la création? [dupliquer]
Disons que nous créons un champ de saisie comme
InputField[]
Après avoir appuyé sur Entrée, le champ de saisie apparaît dans la zone de sortie ci-dessous, mais le focus dans le cahier passe directement à la ligne suivante, où une nouvelle cellule peut être créée. Existe-t-il un moyen de créer un InputField
et de le sélectionner immédiatement lors de la création (sans avoir à cliquer dessus), de sorte que le texte puisse être immédiatement saisi dans le InputField
?
Réponses
Vous pouvez attribuer un identifiant de boîte à un champ de saisie en utilisant BoxID -> "id"
et utiliser la fonction FrontEnd`MoveCursorToInputField
pour déplacer le focus vers le champ de saisie souhaité:
InputField[Null, BoxID -> "id"]
FrontEnd`MoveCursorToInputField[EvaluationNotebook[], "id"];

Un autre exemple:
Grid[{{InputField[Dynamic[x]], InputField[Dynamic[y], BoxID -> "ify"],
InputField[Dynamic[z]]}}]
FrontEnd`MoveCursorToInputField[EvaluationNotebook[], "ify"];


Vous pouvez également mettre en surbrillance le contenu de la cellule et utiliser Ctrl
+ Shift
+ Enter
pour évaluer en place:
