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

Langage Delphi Discussion :

Texte en couleur dans une StringGrid


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 397
    Points : 165
    Points
    165
    Par défaut Texte en couleur dans une StringGrid
    Bonjour,

    La question à du être posée 100 fois mais je n'arrive pas à comprendre comment fonctionne OnDrawCell.

    Avec la procédure ci-dessous j'ai soit tous les textes de ma colonne 4 en rouge si la valeur de la dernière cellule est négatif ou en bleue si c'est positif.

    Ce que je veux faire c'est avoir la valeur inscrite dans la cellule en bleu si c'est positif et rouge si c'est négatif et ça cellule par cellule (dans la colonne 4)

    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
     
    procedure Tcompte.tableauDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    begin
     
      with Sender as TStringGrid do with Canvas do
      begin
       //Sélection de la couleur de fond
        if gdFixed in State then
          Brush.Color := clBtnFace
        else if gdSelected in State then
                Brush.Color := clWhite
              else Brush.Color := clWhite;
     
        // Dessin du fond
        FillRect(Rect);
     
         //Sélection de la couleur de texte
     
     
          if (Acol=4) and (enregcompte.solde_tempo>=0)
          Then
            begin
            Font.Color:=clblue;
            TextOut(Rect.Left,Rect.Top,Cells[ACol,ARow]);
            end;
     
         if (Acol=4) and (enregcompte.solde_tempo<0)
          then
            begin
            Font.Color:=clRed;
            TextOut(Rect.Left,Rect.Top,Cells[ACol,ARow]);
            end;
          if Acol<>4
          then
            begin
            Font.Color:=clBlack;
            TextOut(Rect.Left,Rect.Top,Cells[ACol,ARow]);
            end;
     
     
      end;
     
    end;

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 586
    Points : 25 262
    Points
    25 262
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    with Sender as TStringGrid do with Canvas do
    peut s'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    with Sender as TStringGrid, Canvas do
    sinon, il ne faut pas se baser sur enregcompte.solde_tempo (une globale qui doit contenir la dernière valeur probablement lors d'une traitement précédent), mais sur le contenu de la cellules Cells[ACol, ARow] ...

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

Discussions similaires

  1. Couleur dans une stringgrid
    Par jyvesb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 17/12/2012, 17h40
  2. Insérer du texte en couleur dans une JTextArea
    Par piotrr dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 12/12/2007, 13h48
  3. La Couleur dans une StringGrid
    Par fermat dans le forum Delphi
    Réponses: 2
    Dernier message: 21/01/2007, 14h38
  4. changer de couleur dans une cellule stringgrid
    Par popy1970 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 24/04/2006, 20h21
  5. certains texte en couleur dans une liste deroulante
    Par moicats dans le forum Access
    Réponses: 17
    Dernier message: 07/04/2006, 09h19

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