Récupérer la position du curseur dans un NSTextField

Eddy58Eddy58 Membre
22:22 modifié dans API AppKit #1
Hello,
je voudrais récupérer la position du curseur d'édition ("insertion point") en terme de caractères dans un NSTextField...J'ai regardé dans la doc, mais rien vu là -dessus. ???
Sinon, si ce n'est pas possible, quelqu'un sait-il comment se servir des méthodes Responder du genre -(void)deleteToEndOfLine:(id)sender ?
Car quand j'essaie de l'appeler directement ça passe pas, et là  je vois pas comment utiliser cette méthode qui apparemment donne plus l'impression de vouloir être surchargée... >:)

Réponses

  • 22:22 modifié #2
    Un TextField seul ne permet pas d'éditer le texte, c'est en fait une instance de NSTextView qui est créée pour l'occasion, et dans laquelle tu fais ton édition.

    Donc pour avoir la position de ton curseur:
    [tt]int pos = [[textField currentEditor] selectedRange].location[/tt]
  • Eddy58Eddy58 Membre
    février 2005 modifié #3
    Ok merci Renaud, j'essaie ça. :)

    [EDIT]
    Ok ça marche impec, j'ai donné le comportement que je voulais à  mes textfields.
  • GercofisGercofis Membre
    22:22 modifié #4
    vu les problèmes posé par le formatteur européen de l'¤, l'espace incessable verouille la validation d'un chiffre en ¤, donc je parviens très bien a virer ce caractère, mais mon cuseur se retrouve positioné a droite, donc ça m'intéresse de noter la position du curseur, mais comment je la restitue si besoin ?
    en tout cas j'avance
  • fouffouf Membre
    22:22 modifié #5
    Tu fais comme ca :
    <br />NSRange insertion = NSMakeRange(i/*la location*/,0);<br /><br />[[textField currentEditor]setSelectedRange:insertion]<br />
    
  • GercofisGercofis Membre
    22:22 modifié #6
    Tout ceci marche tres bien, merci a tous les deux, mais histoire de faire carrément top il me reste un petit problème:

    Bien sûr j'ai fait en sorte de modifier la position suivant que l'espace effacé est avant ou apres la curseur.

    Quant j'efface un chiffre ou autre et qu'il y a un espace qqpart, mon cuseur logiquement recule d'un caractère ?

    une idée pour contourner ?

Connectez-vous ou Inscrivez-vous pour répondre.