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 :

Coloration syntaxique grace à un CRichEdit


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 118
    Par défaut Coloration syntaxique grace à un CRichEdit
    Bonjour à tous !

    J'ai récupéré un éditeur de texte maison, et ma mission, c'est de la modifier pour rajouter de la coloration syntaxique. Il est en Visual C++ 6 avec plein de MFC dedans, et moi, je ne suis pas encore très fort en MFC !

    La zone d'édition était un objet héritant de CEditView, et je l'ai fait hérité de CRichEditView.
    J'ai ajouté la méthode AfxInitRichEdit( ); dans initinstance, et j'ai testé ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
          CHARFORMAT cf;
          GetRichEditCtrl().GetDefaultCharFormat(cf);
          cf.crTextColor = 0x00FF0000;
     
          GetRichEditCtrl().SetSel(0,20);
          GetRichEditCtrl().SetSelectionCharFormat(cf);
     
          GetRichEditCtrl().SetBackgroundColor(false,0x00FFFFA0);
    Je voulais changer la couleur du fond, et la couleur des 20 premiers caractères.

    La couleur du fond, c'est bon, et quant aux 20 premiers caractères, ils se retrouvent sélectionnés, mais restent désespérément noirs au lieu de devenir bleus !

    Est ce que quelqu'un à une idée ? Même vague ?

    Merci d'avance !

  2. #2
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Bonjour,

    Ta question se rapproche de ce qui a été évoqué dans une autre discussion. Ca pourrait sans doute t'aider...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 118
    Par défaut
    Effectivement, c'est le même problème. C'est d'ailleurs ce post qui m'a orienté sur l'utilisation d'un CRichEdit !
    Par contre, je n'ai pas encore trouvé l'exemple dont ils parlent sur CodeGuru ou CodeProject, mais je continue de chercher...

    Mon problème pour le moment, c'est surtout que je ne sais pas si j'utilise correctement mon CRichEdit, mais normalement, il doit pouvoir faire ce que je veux !

    Je continue de chercher cet exemple.

    Edit : j'ai trouvé ceci pour le moment http://www.codeguru.com/cpp/controls...cle.php/c2419/

  4. #4
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Je ne peux pas t'aider plus car mes connaissances en RichEdit sont nulles.
    Tiens nous au courant de tes avancées...

  5. #5
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    salut,

    je ne pense pas que la coloration syntaxique avec CRichEdit soit une bonne idée ... déjà coté performance ça doit pas etre terrible ...

    regarde plutot du coté de Scintilla :

    http://www.naughter.com/scintilla.html
    ou ici http://www.codeproject.com/KB/edit/scintillawnd.aspx

    ou sinon, il y a CrystalEdit (un peu plus léger)

    http://www.codeproject.com/KB/edit/crysedit.aspx

    @+

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 118
    Par défaut
    stephdim : A priori, les performances ne devraient pas être un souci. Vu l'utilisation prévue, l'éditeur n'aura jamais plus d'une centaine de lignes à traiter. Cela dit, les solutions que tu montres ont l'air vachement bien ! Ca va me simplifier le travail grandement !

    PetitPapaNoël : J'ai trouvé pourquoi ça ne changeait pas de couleur (grâce à l'exemple de codeguru). Il manquait ça dans le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cf.dwMask |= CFM_COLOR; //Rend valide le champs crTextColor
    cf.dwEffects = 0; //Met à zéro le bit CFE_AUTOCOLOR qui sinon, force le texte à la couleur par défaut
    cf.crTextColor = 0x00FF0000;
    Merci à tous pour vos conseils !

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

Discussions similaires

  1. [C#] Coloration syntaxique !
    Par UNi[FR] dans le forum Windows Forms
    Réponses: 8
    Dernier message: 08/04/2009, 09h37
  2. Coloration syntaxique
    Par iubito dans le forum Evolutions du club
    Réponses: 73
    Dernier message: 02/11/2005, 10h01
  3. [debutant] coloration syntaxique
    Par demostene dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 30/06/2004, 15h16
  4. Coloration syntaxique
    Par _-Sky-_ dans le forum Composants
    Réponses: 4
    Dernier message: 03/01/2004, 21h58
  5. Coloration syntaxique ASM dans un RichEdit
    Par Crick dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/12/2002, 01h53

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