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 :

changer la couleur d'une ligne d'un dbgrid


Sujet :

Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    agent de fisc(les impots)
    Inscrit en
    Juillet 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : agent de fisc(les impots)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 427
    Points : 111
    Points
    111
    Par défaut changer la couleur d'une ligne d'un dbgrid
    Bonjour
    Voila pour un autre probleme
    et t'il possible de changer la couleur de la ligne selectionner avec le cursseur d'un dbgrid
    jai essayé ce code dans l'evenement ONCELCLICK du dbgrid mais ca marche pas il change la couleur de toute les lignes
    code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dbgrid1.font.color:=macouleur;
    merci

  2. #2
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 307
    Points
    1 307
    Par défaut
    Essai plutôt l'événement OnDrawColumnCell.

    En cherchant sur Internet tu trouvera des exemple pour modifier la couleur des lignes de ton DBGrid à ta guise, ce n'est pas très compliqué!
    Ce que l'on apprend par l'effort reste toujours ancré plus longtemps...

  3. #3
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Salut;

    non ce ne l'est pas. En fait pour personnaliser le DBGrid tu vas coder l'évènement OnDrawQuelqueChose (j'ai pas de delphi), mais je me souviens que ce sujet a été bien traité et sur le forum et dans la FAQ. Faut y songer à faire un tour
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  4. #4
    Membre régulier
    Homme Profil pro
    agent de fisc(les impots)
    Inscrit en
    Juillet 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : agent de fisc(les impots)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 427
    Points : 111
    Points
    111
    Par défaut
    Re
    ce que je veux est de changer la couleur d'une ligne selectionner ave le cursseur est pas changer la couleur de toute les lignes de dbgrid.
    je pence que l'evenement OnDrawColumnCell il change la couleur de toute les lignes est pas une ligne selectionner avec le cursseur.

  5. #5
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 345
    Points : 3 123
    Points
    3 123
    Par défaut
    Bonjour,

    il faut utiliser la propriété State (gdSelected si la ligne est sélectionnée)
    voici un exemple
    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
     
    procedure TF_Princ.GrilleDrawCell(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) or (ARow = 0)) Then
                     Begin
                       Brush.Color := clBtnFace ;
                     End
                  Else
                     Begin
                        If gdSelected In State Then
                           Begin
                              Brush.Color := clNavy ;
                           End
                        Else
                           Begin
                              If Odd(ARow) Then
                                 Begin
                                    If Cells[1,Arow]=Marque Then Brush.Color := CoulSelec1
                                                            Else Brush.Color := CoulNormal1 ;
                                 End
                              Else
                                 Begin
                                    If Cells[1,Arow]=Marque Then Brush.Color := CoulSelec1
                                                            Else Brush.Color := CoulNormal2 ;
                                 End ;
                           End ;
                     End ;
     
                  { Dessin du fond }
                  FillRect(Rect);
                  { Sélection de la couleur d'écriture }
                  If gdSelected In State
                    Then Font.Color:=clWhite
                    Else Font.Color:=clBlack;
                  { Dessin du texte }
                  TextOut(Rect.Left,Rect.Top,Cells[ACol,ARow]);
                End;
          End ;
    end;
    { ========================================================================= }
    A+
    Charly

Discussions similaires

  1. Changer la couleur d'une ligne dans un DBGrid
    Par fba dans le forum Composants VCL
    Réponses: 5
    Dernier message: 24/10/2005, 20h30
  2. Changer la couleur d une ligne de tableau au survol
    Par logica dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/07/2005, 11h57
  3. Réponses: 7
    Dernier message: 28/06/2005, 11h53
  4. Réponses: 8
    Dernier message: 14/05/2004, 11h18
  5. [VB6]Changer la couleur d'une ligne d'un ListView
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 14/03/2003, 17h02

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