BlueGEEK Journal

Accueil > Manip’s > Delphi > Mémos > Comment surligner toute la ligne ou se trouve un mot ?

Comment surligner toute la ligne ou se trouve un mot ?

mercredi 23 septembre 2009, par bluegyn_spip

P1 := form1.TEXTE.FindText (S , 1 , Length(form1.texte.text), []);

form1.texte.SelStart := P1;

Numero_Ligne := SendMessage( Form1.TEXTE.Handle,EM_LineFromChar,form1.texte.SelStart,0);

form1.TEXTE.SelStart := form1.TEXTE.Perform(EM_LINEINDEX, Numero_Ligne, 0) ;

P2 := form1.TEXTE.Perform(EM_LINEINDEX, Numero_Ligne + 1, 0) - 1;

form1.texte.SelLength := P2-P1;
  1. P1 pointe le Début du mot recherché par Findtext
  2. Le curseur est mis à la position P1
  3. Sendmessage repère le numéro de la ligne pointée
  4. Le curseur est alors automatiquement positionné au début cette ligne (colonne 0)
  5. Perform place P2 à la fin de ligne pointée (la fin de la ligne pointée c’est le début de la suivante (Ligne+1), décalée d’une colonne à gauche (-1)
  6. SelLength définit la longueur du texte en surbrillance (Ici la ligne)