Enlever le curseur de sélection d'un champ

mac_manumac_manu Membre
08:27 modifié dans API AppKit #1
Bonjour les amis,

Une petite question toute bête: Comment faire pour qu'après avoir entrée une donnée dans mon NSTextField, et après avoir validé par la touche tab, le curseur de sélection "sorte" du champ, sans allé obligatoirement dans le prochain nextKeyView. Ce que j'aimerais en fait, c'est que la sélection ne sélectionne rien!!!
Merci et bon dimanche <3

Réponses

  • Eddy58Eddy58 Membre
    08:27 modifié #2
    Salut mac_manu :)

    Si tu veux qu'un textfield ne soit pas sélectionnable par tabulation tu peux faire ceci :

    <br />	[monTextField setRefusesFirstResponder:YES];<br />
    
  • 08:27 modifié #3
    Hello

    Ou autre solution, tu redéfinis la boucle des nextKeyView dans IB en excluant les champs que tu veux ...exclure.

    Voili voulou
  • mac_manumac_manu Membre
    08:27 modifié #4
    Merci les gars, mais je crois que je me suis mal fait comprendre. Si on veut, j'ai 2 champs d'entrée de données. J'aimerais introduire mes données en boucle, du champ A au champ B (avec nextKeyView), puis une fois les données entrées dans le champ B, avant que le curseur se déplace à  nouveau dans le champ A (ce que je peux faire en reliant le champ B au champ A par nextKeyView), j'aimerais pouvoir valider mes saisies par un btn "Confirmer" et c'est seulement après avoir cliquer sur ce btn que le champ A reprend le firstResponder. Pour ceux qui ont programmé avec realBasic, il y avait l'instruction "select empty" pour sortir le curseur d'un champ...

    Merci  o:)
  • ClicCoolClicCool Membre
    08:27 modifié #5
    Salut,

    Tu peux pas simplement déclarer alors ton bouton de validation (par exemple) comme la nextKeyView ?
  • 08:27 modifié #6
    Les boutons ne sont pas pris en compte dans la chaà®ne des nextKeyView, à  moins que l'accès complet au clavier ne soit activé.

    Sinon j'ai une bête question: pourquoi le bouton devrait perdre son firstResponder? Si ton bouton confirmer a comme touche de raccourci "enter" ou "return" et qu'il est déjà  présent dans la fenêtre, il suffit de pousser sur un de ces boutons pour ton bouton confirmer, peu importe le champ sélectionné.

    PS: il vaut mieux que tu parles de firstResponder que de curseur.
  • mac_manumac_manu Membre
    08:27 modifié #7
    Oui, tu as raison Renaud. Si tu veux, ce n'est pas le btn qui dois perdre le firstResponder, mais le champ B. Le btn devrait donner le firstResponder au champ A. Je dois faire cela, car j'ai un code qui répond à  controlTextDidEndEditing du champ A, et il ne faut pas qu'il s'active avant de "confirmer" par le btn ad'hoc...
  • 08:27 modifié #8
    Je comprends vraiment pas ce que tu veux faire, ou bien alors si je comprends bien, il faut nettement mieux régler ça par un jeu de setEnabled: sur tes textFields ou les boutons. Le bouton n'a jamais le firstResponder. Si tu veux simplement changer de firstResponder, il y a setFirstResponder: de NSWindows. Peut être que setFirstResponder:nil fonctionne, je n'ai jamais essayé.
  • mac_manumac_manu Membre
    08:27 modifié #9
    Merci. Je vais effectivement essayer avec setEnabled: Concernant setFirstResponder:nil, j'ai déjà  essayé, mais ça ne répond pas à  mon problème...
    8)
Connectez-vous ou Inscrivez-vous pour répondre.