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

C++Builder Discussion :

TMemo et TRichEdit [FAQ]


Sujet :

C++Builder

  1. #1
    Invit�
    Invit�(e)
    Par d�faut TMemo et TRichEdit
    Il y a quelque chose qui m'�chappe depuis longtemps : je ne vois pas la diff�rence entre un composant TMemo et un composant TRichEdit.

    Comme semble le sugg�rer l'icone de la palette de composants, le RichEdit permet d'utiliser une police diff�rente pour les diff�rentes lettres du message contenu dans les "strings" du composant.

    Or, je n'arrive absolument pas � changer la casse des textes que je place dans ce composant.

    C'est normal ? Il y a un truc ? :

    J'ai regard� dans l'aide et je n'ai rien vu de fondamentalement diff�rent concernant l'utilisation de ces deux composants ? De plus, leurs propri�t�s semblent les m�mes...

    Vous auriez la r�ponse ?

  2. #2
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    Il est effectivement tr�s difficile de saisir la diff�rence. Il semble que TRichEdit s'utilise pour du texte format� et TM�mo pour du multilignes standard. TRichEdit a des comportements d�riv�s de TCustomRichEdit alors que TMemo a des comportement d�riv�s de TCustomMemo.

    � bient�t
    Gilles

  3. #3
    CGi
    CGi est d�connect�
    Expert confirm�
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    D�tails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par d�faut
    Dans un RichEdit on peut mettre des fonts et des couleurs de fonts diff�rentes pour le texte.
    Un petit exemple tu prends un TRichEdit (TRichEdit1) tu y mettera du texte a l'execution. Tu en s�lectionnera des parties et quand c'est partie
    de texte seront s�lectionn� tu executera une des lignes de code suivante:

    Changer la fonte pour la s�lection:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    RichEdit1->SelAttributes->Name = "Courier New";
    Changer la taille de la fonte pour la s�lection:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    RichEdit1->SelAttributes->Size = 24;
    Passer la s�lection en Gras

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    RichEdit1->SelAttributes->Style = 
              RichEdit1->SelAttributes->Style << fsBold;
    ........
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqu� ? (Jacques Rouxel)

  4. #4
    Membre Expert
    Avatar de Gilles Lou�se
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par d�faut
    Merci CGi, j'enl�ve donc ma r�ponse qui n'est pas bonne, on peut effectivement avoir autant de polices et de couleurs qu'on veut dans le RichEdit qui porte donc d�s lors un nom correct. Il fallait passer par une s�lection, ce que je ne savais pas.

    On peut aussi proc�der � ces initialisations par programme, dans ce cas on utilise la propri�t� SelStart pour le num�ro de caract�re de d�part et SelLength pour la longueur, par exemple en choisissant une s�lection � partir du caract�re 3 de longueur 5 en rouge Papyrus

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    RichEdit1->SelStart=3;
    RichEdit1->SelLength=5;
    RichEdit1->SelAttributes->Name="Papyrus";
    RichEdit1->SelAttributes->Color=clRed;
    � bient�t
    Gilles

  5. #5
    Invit�
    Invit�(e)
    Par d�faut TMemo & TRichEdit [RESOLU]
    Merci pour ces r�ponses...

  6. #6
    Invit�
    Invit�(e)
    Par d�faut Comment formater un RichEdit ? [RESOLU]
    Suite � vos messages, j'ai gratt� un peu le TRichEdit et je me suis fait un petit bout de code pour formater certaines zones de textes de mon controle TRichEdit.
    Je vous le colle ci-dessous, au cas o� vous en auriez besoin.
    Je pense que �a pourrait figurer dans la FAQ, parce que ce n'est pas �vident en lisant la doc, et au vu des r�ponses, leTRichEdit est bien mal connu...


    Dans le code ci-dessous, j'ai une fiche avec un controle TRichEdit.
    Dans ce RichEdit, j'ai un petit texte avec des titres et je voudrais que tous les titres apparaissent avec un style de police diff�rent du texte.

    Dans la doc (appuyer sur F1 apr�s avoir s�lectionn� la propri�t� Plain Text du controle), il est propos� de remplir le TRichEdit � partir d'un fichier .RTF par la m�thode RichEdit1->Lines->LoadFromFile(fichier);
    Il semble d'ailleurs qu'il y a une erreur car dans l'exemple, ils placent PlainText � true alors que dans la doc, ils disent qu'il faut le mettre � false pour prendre en compte le formatage. A v�rifier...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    //---------------------------------------------------------------------------
    // Apparition de la fiche
    //---------------------------------------------------------------------------
    void __fastcall TF_info_X::FormShow(TObject *Sender)
    {
      //
      // Déclarations
      //
      int nI;
      // variables de formatage du TRichEdit
      int nFind;
      TStringList * pListeChaine = new(TStringList);
     
      // Remise du focus sur les conseils
      this->RichEdit_conseils->SetFocus();
      //
      // Application des styles
      //
      // - initialisation du texte à passer en style
      pListeChaine->Clear();
      pListeChaine->Add("Mon titre 1");
      pListeChaine->Add("Mon titre 2");
      pListeChaine->Add("Etc.");
      pListeChaine->Add("...");
      pListeChaine->Add("Les TRichEdit, c'est pas simple !");
      pListeChaine->Add("Mon dernier titre");
     
      // - balayage de la fiche
      for (nI = 0; nI < pListeChaine->Count; nI++)
      {
        nFind = RichEdit_conseils->FindTextA(pListeChaine->Strings[nI],
                                             0,
                                             RichEdit_conseils->Text.Length(),
                                             TSearchTypes()<< stMatchCase);
        if (nFind >= 0)
        {
          RichEdit_conseils->SelStart = nFind;
          RichEdit_conseils->SelLength = pListeChaine->Strings[nI].Length();
          // Application du style
          RichEdit_conseils->SelAttributes->Size = 10;
          RichEdit_conseils->SelAttributes->Style =
              RichEdit_conseils->DefAttributes->Style << fsBold
                                                      << fsItalic
                                                      << fsUnderline
                                                      << fsStrikeOut;
        }
      }
      // Désélection
      RichEdit_conseils->SelStart = 0;
      RichEdit_conseils->SelLength = 0;
      // Libération de la mémoire
      delete pListeChaine;
    }
    Juste une petite suggestion � Monsieur Borland pour le TRichEdit de la prochaine version... on pourrait pas le remplir juste par copier-coller depuis un fichier rtf ? :

  7. #7
    Mod�rateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Syst�mes Embarqu�s
    Inscrit en
    Avril 2002
    Messages
    3 252
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Consultant en Syst�mes Embarqu�s
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 252
    Par d�faut
    Il me semble �galement qu'un TMemo et dans la librairie CLX et pas le TRichEdit.
    Merci pour le code que tu as post�.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 11
    Dernier message: 01/07/2012, 15h12
  2. R�ponses: 2
    Dernier message: 09/01/2007, 21h39
  3. Position d'une ScrollBar dans un TRichEdit (ou TMemo)
    Par Troll dans le forum C++Builder
    R�ponses: 9
    Dernier message: 24/02/2005, 15h18
  4. Adaptation d'un code TMemo vers TRichEdit : probl�me de ScrollBars
    Par Dro�de Syst�me7 dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 21/01/2005, 15h06
  5. Capacit� d'un TMemo ou d'un TRichEdit
    Par alainvh dans le forum Composants VCL
    R�ponses: 3
    Dernier message: 15/10/2004, 13h05

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