Bonjour,
J'affiche du texte dans un contr�le (multi-ligne)
J'ai besoin de pouvoir mettre en gras un(e) ou plusieurs mot(s) (lignes) dans ce contr�le.
Le CEdit ne me le permet pas, je passe donc par un CRichEditCtrl
Pour trouver le mot que je dois mettre en gras, je fais appel � la fonction FindText, et l� tout se complique...
Avec ce code:
Le mot n'est tout simplement pas trouv�...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11 FINDTEXTEX ft; ft.chrg.cpMin = 0; ft.chrg.cpMax = -1; // pour chercher dans toute la sélection ft.lpstrText = _T("MonMot"); long n = myRichEditCtrl.FindText(FR_MATCHCASE|FR_WHOLEWORD, &ft); if (n != -1) { myRichEditCtrl.SetSel(ft.chrgText); // je sélectionne le mot qui vient d'être trouvé myRichEditCtrl.SetSelectionCharFormat(cfBold);// je mets ce mot en gras, cfBold est défini plus haut chez moi, ce n'est pas le problème }
Avec le code suivant :
Il trouve quelque chose, mais, comment dire.... pas du tout ce que je cherche!
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6 long n = m_EdtDetailsR.FindText(FR_DOWN, &ft); if (n != -1) { myRichEditCtrl.SetSel(ft.chrgText); myRichEditCtrl.SetSelectionCharFormat(cfBold); }
Typiquement, j'ai plusieurs lignes d'affich�es, et chacune se termine par "OK" ou "KO"... je cherche le mot "KO" dans mon texte, et il me renvoie la position du premier OK...
J'ai cherch� un peu sur le net, et il semblerait que cette fonction soit bugg�e
Est-ce que quelqu'un aurait une id�e? soit pour faire fonctionner ce code, soit pour utiliser une autre classe qui me permette de faire �a?
Merci d'avance pour votre aide, et bonne journ�e!!
Partager