IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[MFC] - FindText dans un CRichEditCtrl


Sujet :

MFC

  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 51
    Par défaut [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 : 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
    }
    Le mot n'est tout simplement pas trouvé...

    Avec le code suivant :
    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);
    }
    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...

    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!!

  2. #2
    Membre averti
    Inscrit en
    Août 2007
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 51

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MFC] liens hypertexte dans un CRichEditCtrl
    Par hiko-seijuro dans le forum MFC
    Réponses: 1
    Dernier message: 15/06/2005, 12h14
  2. [mfc] affichage dans une boite de dialog
    Par chronos dans le forum MFC
    Réponses: 3
    Dernier message: 14/06/2004, 15h12
  3. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51
  4. [MFC] CPropertySheet dans une CFormView ???
    Par Lofwyr dans le forum MFC
    Réponses: 2
    Dernier message: 30/07/2003, 16h49
  5. [MFC] image dans un header de CListCtrl
    Par tut dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2003, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo