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

Composants VCL Delphi Discussion :

Comment modifier la couleur d'une cellule d'un TStringgrid


Sujet :

Composants VCL Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 15
    Points : 17
    Points
    17
    Par défaut Comment modifier la couleur d'une cellule d'un TStringgrid
    Bonjour a tous,

    je souhaite modifier la couleur du texte d'une cellule d'un composant TStringgrid dans Delphi 2005 sans que les autres cellules ne soient affectées. J'ai essayé le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Stringgrid1.Font.Color:=ClRed;
    Stringgrid1.Cells[i,j]:='ma valeur';
    Stringgrid1.Font.Color:=clwindowstext;
    ça ne marche pas !!! tout reste noir, alors que je veux le texte en rouge (par exemple, ou le font de la cellule en rouge...)

    Comment faire.Merci.

  2. #2
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    inspire toi de ceci dans la

  3. #3
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Oui, va voir dans la FAQ

    Le problême que u dois comprendre, c'est que la propriété Font du Stringgrid, concerne l'ensemble du Stringgrid.

    Si tu veux "particulariser" le dessin d'une cellule, il faut le faire au moment où Windows dessine cette cellule, donc dans l'évènement OnDrawCell du Stringgrid.

    A ce moment, quand Delphi appelle le code de OnDrawCell, celui-ci indique quelle est la cellule qu'il est sur le point de dessiner (variables ACol et Arow), l'endroit (les coordonnées du rectangle) où elle va être dessinée dans le stringgrid (variable Rect), ainsi que son état particulier (une cellule sélectionnée ne sera pas dessinée de la même couleur que les autres).

    Par contre, effectivement, il n'y pas de choses prévues comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Stringgrid1.Cells[i,j].Font.Color:=ClRed;
    Par contre, rien ne t'empêche de faire un tableau à deux dimensions, de la même taille que ton stringgrid, et pour chaque entree de ton tableau, tu y stocke les couleurs de chacunes de tes cellules.
    Tu peux aussi te créer une liste de couleurs (avec TList) et tirer partie de
    Stringgrid1.Objects[i,j]

    En tout cas, la modification de StringGrid1.Font et de StringGrid1.Brush s'effectue toujours dans l'évènement OnDrawCell, comme dans la FAQ

Discussions similaires

  1. Comment changer la couleur d'une cellule lorsqu'elle a été modifiée
    Par julbul dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/03/2011, 09h49
  2. [XL-2003] Comment changer la couleur d'une cellule lorsqu'elle a été modifiée
    Par robinicol dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/01/2011, 15h09
  3. Réponses: 5
    Dernier message: 24/03/2008, 19h49
  4. [Word97 / Delphi6] Comment modifier la couleur d'une cellule ?
    Par Lolo1988 dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 29/10/2007, 10h48

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