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 :

State d'un StringGrid


Sujet :

Composants VCL Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 46
    Par défaut State d'un StringGrid
    Bonjour,

    je suis en train de faire une application qui utilise un string grid, et j'aimerais que lorsque l'utilisateur place la souris sur l'une des case, ca colorie en bleu la ligne et la colonne.

    Pour la ligne j'utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if gdSelected in State then
        Canvas.Brush.Color := clGradientInactiveCaption
    Ca fonctionne parfaitement, par contre, je ne vois pas comment faire pour colorer la colonne.

    j'ai essayé de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (ACol = gMX) then
         Canvas.Brush.Color := clGradientInactiveCaption
    Ca fonctionne au début, mais comme le rafraichissement est mauvais, ca devient du n'importe et ca colorie des cases au hasard.

    Auriez-vous une solution pour colorier la ligne et la colonne en même temps ?

    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    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 400
    Par défaut
    je crois que StringGrid dispose d'une méthode OnDrawCell*** ou quelque chose du genre et c'est cette méthode qui est faite pour ces tâches.

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 941
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 941
    Par défaut
    Exactement .

    Tu n'as plus qu'à tester les ligne/colonne sélectionnée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
    begin
      with TStringGrid(Sender) do
        if (Col = aCol) or (Row = aRow) then ...
    end;
    Bien sûr au changement de cellule, tu devras Invalidate toute la grille. Sinon seules l'ancienne et la nouvelle cellule seront repeintes.

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