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

 Delphi Discussion :

Comment écrire en couleur dans un TMemo ?


Sujet :

Delphi

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut Comment écrire en couleur dans un TMemo ?
    salut

    je voulais écrire des lignes de différente couleur dans un Tmemo

    je ne trouvais pas de solution, donc j'ai pensé à changer la couleur à chaque fois que je veux utiliser une différente ex :

    memo1.Font.Color := clred;

    mais le prob c'est que toutes les lignes prennent la couleur sélectionné

    je fais une sorte de tchat et donc je voulais permetre au tchateur, de choisir sa couleur

  2. #2
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut

    vous ne pouvez pas définir la couleur d'un fragment de texte sur un TMemo
    essai plutôt avec TRichEdit c'est fait pour ça.

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    c'est sur que c pas possible avec le memo ? c que celui là que jutilise

    je ne connais meme pas lautre

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 731
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 731
    Points : 15 136
    Points
    15 136
    Par défaut
    Citation Envoyé par Coussati Voir le message
    c'est sur que c pas possible avec le memo ? c que celui là que jutilise
    Nan !

    Citation Envoyé par Coussati Voir le message
    je ne connais meme pas lautre
    Excellente occasion de se mettre à apprendre autre chose,
    Mes 2 cts,
    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Oui, c'est sur! Il te faut utiliser le RichEdit qui lui permet de faire ce que tu demandes. Le RichEdit n'est qu'un simple Memo avec des fonctionnalités en plus pour le formatage de données.

    Il suffit juste de remplacer tes Memo classiques par des RichEdit. Ensuite, il faut coder la partie pour le formatage des données donc tout ce qui est couleur, alignement etc etc.

    A+

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Salut,

    Pour te faire la main, tu peux récupérer ici : http://www.developpez.net/forums/sho...=358129&page=3
    le fichier PiloterRichEdit.zip qui te fournit une unité de pilotage du formattage (Police, Taille, Style, Couleur, Indice, Exposant) de tout ou partie d'une ligne d'un RichEdit.

    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  7. #7
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    merci à vous

  8. #8
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Résolu ? (bouton en bas de cette page)
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  9. #9
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    j'ai une autre question, pareil pour la listbox, c'est possible d'écre des items de couleurs différentes ? ou aussi un autre compo ?

  10. #10
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 664
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 664
    Points : 6 967
    Points
    6 967
    Par défaut
    Citation Envoyé par Coussati Voir le message
    j'ai une autre question, pareil pour la listbox, c'est possible d'écre des items de couleurs différentes ?
    Oui, c'est possible.
    Mais c'est à toi de le faire dans l'évènement OnDrawItem.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  11. #11
    Membre régulier Avatar de newbie57
    Inscrit en
    Juin 2005
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Juin 2005
    Messages : 124
    Points : 92
    Points
    92
    Par défaut
    Salut Coussati,

    Je ne sais pas si tu as TMS (c'est payant je sais )?

    Moi j'avais aussi ce problème de mis en forme de certaines données et pour y remedier, j'ai utilisé certains composants de TMS (TMS HTML) et grâce à ca, j'ai pu mettre des couleurs etc.. plus facilement.

    Peut-être que ça peut te donner une piste.

    Bien à toi

  12. #12
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    bin je ne veux pas de compo payant et au ire j'aimerais bien gardé la listbox

    mais Lung tu es sur qu'il faut passer par un évènement ?

    parce que bon, imagine que j'ai 10 items à add, je veux 5 rouges et 5 verts

  13. #13
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Citation Envoyé par Coussati Voir le message
    mais Lung tu es sur qu'il faut passer par un évènement ?
    Oui, absolument. Consulte l'aide en ligne sur cet événement. Tu y trouveras plus d'informations.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  14. #14
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Salut,

    Tiens, voici un exemple de code qui met les items d'une ListBox en couleurs d'arrière-plan alternées Bleu/Blanc :
    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
     
    procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
      Rect: TRect; State: TOwnerDrawState);
    begin     ListBox1.Style:=(lbOwnerDrawFixed);
              with ListBox1.Canvas do
              begin Font.Color:=clBlack; // Couleur de fonte
                    if Odd(Index) then Brush.Color:=clAqua   // Couleur d'arrière plan
                                  else Brush.Color:=clWhite; // alternée bleu/blanc
                    FillRect(Rect); // Remplit le rectangle de l'Index sur canvas avec Brush.color
                    TextOut(Rect.Left, Rect.Top, ListBox1.Items[Index]); // Texte de l'Item
              end;
    end;
     
    procedure TForm1.ListBox1Click(Sender: TObject);
    var       i:integer;
    begin     for i:=0 to ListBox1.Items.Count-1
              do ListBox1DrawItem(ListBox1,i,ListBox1.ItemRect(i),[odDefault]);
    end;
    ... on peut transformer ce code pour faire idem pour la couleur de fonte, ou lorsque Items[Index] contient un mot ou un caractère donné, etc : à toi de l'adapter à ton besoin.

    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

Discussions similaires

  1. Comment écrire en couleur dans un LISTBOX
    Par Athur dans le forum Windows
    Réponses: 3
    Dernier message: 28/05/2011, 12h30
  2. écrire en couleur dans la console
    Par al85 dans le forum C
    Réponses: 11
    Dernier message: 29/04/2006, 09h50
  3. Comment écrire en inverse dans un TListView ?
    Par aliwassem dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/09/2005, 17h42
  4. [VBA Excel] Comment écrire un code dans le ThisWorkBook ?
    Par WebPac dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/05/2005, 15h03

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