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 :

personaliser un StringGrid


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut personaliser un StringGrid
    Bonjour,
    Je cherche à personnaliser un StringGrid, de façon simple.
    Je voudrais que la colonne 3 soit colorée en rouge clair... tout simplement.
    J'ai trouver dans la F.A.Q quelque chose, j'ai essayé de l'adapter mais sans succès...
    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
    void __fastcall TForm_Tab_Clients::StringGridDrawCell(TObject *Sender, int ACol,
          int ARow, TRect &Rect, TGridDrawState State)
    {
      pGrille = (TStringGrid* )Sender;
      if (!pListeIndex == NULL)
      {
        // Si l'index de la ligne dessinée correspond à une ligne sélectionnée, on
        // retrouve la valeur de son index dans la TStringList
        if (pListeIndex->IndexOf(ARow)!= - 1)
        {
          //elle est déssinée avec une couleur de fond et une fonte spécifique
          pGrille->Canvas->Brush->Color = clHighlight;
          pGrille->Canvas->Font->Color = clWhite;
          pGrille->Canvas->FillRect(Rect);
          pGrille->Canvas->TextRect(Rect, Rect.Left+2, Rect.Top+2, pGrille->Cells[ACol][ARow]);
        }
      }
      else
      {
        pGrille->Canvas->Brush->Color = clWindow;
        pGrille->Canvas->Font->Color = clBlack;
      }
     
      TRect R1;
      TRect R2;
      AnsiString t;
     
      StringGrid->Canvas->Font->Color=clBlack;
      StringGrid->Canvas->Font->Size=8;
     
      if (ACol==3)
        {
            StringGrid->Canvas->Font->Color = clRed;
            StringGrid->Canvas->Font->Size=8;
            StringGrid->Canvas->TextRect(Rect, Rect.Left , Rect.Top , StringGrid->Cells[ACol][ARow]);
        }
     
    }
    Est ce que quelqu'un pourrai m'aider?
    Merci par avance...
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Ce bout de code me semble correcte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (ACol==3)
    {
      StringGrid->Canvas->Font->Color = clRed;
      StringGrid->Canvas->Font->Size=8;
      StringGrid->Canvas->TextRect(Rect, Rect.Left , Rect.Top , StringGrid->Cells[ACol][ARow]);
    }
    Qu'est ce qui ne va pas pour toi ? tu as un message d'erreur ?

  3. #3
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    non je n'ai aucune erreur, mais cela ne fonctionne pas...
    Je n'ai aucune couleur rouge dans mon tableau en revanche j'ai ma colonne trois qui se blanchi... le titre de la colonne compris...???

    Je ne comprend pas vraiment d'où me sort le blanc...
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  4. #4
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    Voici l'ensemble de mon code... ça peut toujours aider...
    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
    void __fastcall TForm_Tab_Clients::StringGridDrawCell(TObject *Sender, int ACol,
          int ARow, TRect &Rect, TGridDrawState State)
    {
      pGrille = (TStringGrid* )Sender;
      if (!pListeIndex == NULL)
      {
        // Si l'index de la ligne dessinée correspond à une ligne sélectionnée, on
        // retrouve la valeur de son index dans la TStringList
        if (pListeIndex->IndexOf(ARow)!= - 1)
        {
          //elle est déssinée avec une couleur de fond et une fonte spécifique
          pGrille->Canvas->Brush->Color = clHighlight;
          pGrille->Canvas->Font->Color = clWhite;
          pGrille->Canvas->FillRect(Rect);
          pGrille->Canvas->TextRect(Rect, Rect.Left+2, Rect.Top+2, pGrille->Cells[ACol][ARow]);
        }
      }
      else
      {
        pGrille->Canvas->Brush->Color = clWindow;
        pGrille->Canvas->Font->Color = clBlack;
      }
     
      TRect R1;
      TRect R2;
      AnsiString t;
     
      StringGrid->Canvas->Font->Color=clBlack;
      StringGrid->Canvas->Font->Size=8;
     
      if (ACol==3)
        {
            StringGrid->Canvas->Font->Color = clRed;
            StringGrid->Canvas->Font->Size=8;
            StringGrid->Canvas->TextRect(Rect, Rect.Left , Rect.Top , StringGrid->Cells[ACol][ARow]);
        }
     
    }
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  5. #5
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    A quoi te sert les lignes de code avant pour moi il ne faut laisser que ce code dans ta fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (ACol==3)
    {
      StringGrid->Canvas->Font->Color = clRed;
      StringGrid->Canvas->Font->Size=8;
      StringGrid->Canvas->TextRect(Rect, Rect.Left , Rect.Top , StringGrid->Cells[ACol][ARow]);
    }

  6. #6
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    En revanche lorsque je sélectionne une cellule qui se trouve dans la colonne, je constate que le tracer en pointillé qui entour la cellule est un peut bleuté... Est ce bon signe?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  7. #7
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    J'ai viré tout ce qu'il y avait avant et le résultat c'est que ma tête de colonne garde la bonne couleur mais le reste ne change pas de couleur...
    y a une autre méthode pour accéder à la couleur d'une colonne? même dans les propriété de la StringGrid... ???
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

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

Discussions similaires

  1. StringGrid sort
    Par clovis dans le forum C++Builder
    Réponses: 4
    Dernier message: 20/10/2004, 21h46
  2. StringGrid, multiligne et word wrap
    Par Dajon dans le forum C++Builder
    Réponses: 7
    Dernier message: 17/09/2003, 17h15
  3. Déplacer la sélection d'une ligne dans un stringgrid
    Par jer64 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 14/03/2003, 00h57
  4. Multi lignes dans un StringGrids ?
    Par Xavier dans le forum C++Builder
    Réponses: 3
    Dernier message: 27/11/2002, 23h15
  5. StringGrid et colonnes
    Par Delph dans le forum Composants VCL
    Réponses: 2
    Dernier message: 02/08/2002, 11h35

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