Bonjour à tous
Je charge un texte de 15 lignes dans un Tmemo. Comment, à la fin du chargement, mettre le curseur, par exemple, au 4 ème caractère de la 10 ème ligne ?
Merci d'avance.
Bonjour à tous
Je charge un texte de 15 lignes dans un Tmemo. Comment, à la fin du chargement, mettre le curseur, par exemple, au 4 ème caractère de la 10 ème ligne ?
Merci d'avance.
avec SelStart, mais je n'en sais pas plus
La prochaine révolution informatique : les machines qui font ce qu'on veut, au lieu de faire ce qu'on leur demande...
Grand Vizir du Grand Gourou - Trois-quart aile gauche du TRFC et intendant de 3ème mi-temps - Papy fait de la résistance
'jour !!
Tu pourrais t'en tirer avec SelStart, mais il faudrait que tu connaisses la position du caractère par rapport au début du texte...
Voici une solution qui fonctionne avec les messages windows spécifiques au Memo...
Explications : Le message EM_LINEINDEX te permettra de récupérer la position du premier caractère de ligne dont le numéro est passé par wParam. A noter que les lignes sont en "zero-based", donc la dixième ligne est la ligne n°9 !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 procedure .... var position: integer; begin ... position := Memo1.Perform(EM_LINEINDEX, 9, 0) + 4; Memo1.Perform(EM_SETSEL, position, position); ... end;
Tu ajoutes 4, ça te donne donc la position du quatrième caractère de la dixième ligne...
Ensuite, EM_SETSEL permet de créer une sélection de texte en spécifiant le début et la fin de celle-ci... En passant pour les deux paramètres la même valeur, le curseur est déplacé à cette position !
Et voilà, ton curseur est déplacé en deux lignes... Et même en une seule ligne si tu imbriques les deux fonctions !!
Bonne prog' !
Bestiol.
PS: Plutôt que d'utiliser EM_SETSEL, une fois que tu as position, Memo1.SelStart := position; fera le même effet
Mea est trop forte, elle flotte : mea coule pas !
Basically this boot sector (Win95) code is 32 bit extension for a 16 bit patch to an 8 bit boot sector originally coded for a 4 bit microprocessor, written by a 2 bit company, that can't stand 1 bit of competition.
olance.developpez.com
Servez-vous, profitez, abusez de la FAQ Delphi !!
Merci pour vos réponses rapides et claires
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager