[MFC] - FindText dans un CRichEditCtrl
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:
Code:
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
} |
Le mot n'est tout simplement pas trouv�...
Avec le code suivant :
Code:
1 2 3 4 5 6
| long n = m_EdtDetailsR.FindText(FR_DOWN, &ft);
if (n != -1)
{
myRichEditCtrl.SetSel(ft.chrgText);
myRichEditCtrl.SetSelectionCharFormat(cfBold);
} |
Il trouve quelque chose, mais, comment dire.... pas du tout ce que je cherche!
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... :arf:
J'ai cherch� un peu sur le net, et il semblerait que cette fonction soit bugg�e :furieux:
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!!