begin process at 2010 02 10 10:07:43
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > COMMENT COLORIER UN STRINGGRID (AUTRE MÉTHODE).

COMMENT COLORIER UN STRINGGRID (AUTRE MÉTHODE).


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Niveau :Débutant Date de création :16/01/2003 Date de mise à jour :21/01/2003 19:23:31 Vu :5 868

Auteur : Hnimsgern

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Procedure TForm1.Modifie_la_grille();
Var Str:String;
  Ligne,Col:WORD;
  Rect_cell:Trect;
  Tab_color:array of Tcolor;

begin
  SetLength (Tab_color, 200);
  Tab_color[1] :=  clGreen;
  Tab_color[2] :=  clRed;
  Tab_color[3] :=  clYellow;
  Tab_color[4] :=  clBlue;
  Tab_color[5] :=  RGB(100, 100, 255);
  

    //Cet exemple montre comment modifier les cellules d'un Stringgrid.
    for Ligne:=1 to 5 do begin
      //Cette ligne est supprimée pour la démonstration.
      //StringGrid1.Canvas.Brush.Color := Tab_color[Ligne];

       for Col:=1 to 2 do begin

        //Retourne le texte contenu de la cellule.
        //On peut également écrire directement le texte sans le relire.
        Str:=StringGrid1.Cells[Col,Ligne];
  
        // ATTENTION !
        //StringGrid1.CellRect(Col,Ligne); Retourne la dimension de la cellule VISIBLE sélectionnée.
        //Utiliser StringGrid1.ColWidths[Col] pour justifier un texte au centre ou à droite
        Rect_cell:=StringGrid1.CellRect(Col,Ligne);

        //Réécrit le texte de la cellule en haut et à gauche.
        StringGrid1.Canvas.TextRect(Rect_cell,Rect_cell.Le ft, Rect_cell.Top,Str);

        //Remplissage de la cellule par la couleur desirée.
        StringGrid1.Canvas.Brush.Color := Tab_color[Ligne];

        //Tracé de la bordure de la cellule dans la couleur desirée si nécessaire.
        StringGrid1.Canvas.FrameRect(Rect_cell);   // Bordure.

        end;
      end;
end;

procedure TForm1.cmd_ModifieClick(Sender: TObject);
begin
  Modifie_la_grille();
end;
  


 Conclusion

Ouvrir un projet.
Ajouter un Stringgrid.
Ajouter un bouton.
Copier le code du bouton et celui de la procédure.
Run!

Les couleurs des cellules sont décalées volontairement.

HN.

  


 Sources du même auteur

Source avec Zip Source avec une capture IMPRESSION DE JAQUETTES DE DVD AU BON FORMAT
SAUVEGARDE DE TOUS COMPOSANTS
Source avec Zip Source avec une capture NAVIGATEUR QUI REMPLIT TOUS LES FORMULAIRES.
Source avec Zip Source avec une capture DIAPORAMA D'IMAGES JPEG, BITMAPS ET ICÔNES.
Source avec Zip Source avec une capture CRÉATION DE COMPILATIONS MP3 POUR MUSICMATCH ET ACDCOVER.

 Sources de la même categorie

Source avec Zip Source avec une capture GESTION DE L'ACCÈS AU MDICHILD À L'AIDE D'ONGLET par CricriLeFou
MAILS AVEC INDY10 : CONTENTTYPE/CONTENTID/PARENTPART par MAURICIO
Source avec Zip Source avec une capture LES CODES DU TUTORIEL SUR LA PROTECTION DES LOGICIELS PAR FI... par Paounet
Source avec Zip Source avec une capture DESIGN PATTERN OBSERVER : IMPLÉMENTATION RÉUTILISABLE par Delphiprog
Source avec Zip Source avec une capture STEGANO - CACHER DU TEXTE DANS UNE IMAGE (TUTO) par pablor44

Commentaires et avis

Commentaire de Nono40 le 16/01/2003 20:33:23

Cela fonctionne effectivement, mais ce n'est pas du tout la bonne méthode. Car en procédant ainsi le dessin n'est pas conservé, donc si l'application est réduite ou si une application passe en premier plan, les couleurs seront effacées.

Pour modifier les couleurs d'une grille, il faut utiliser l'évènement OnDrawCell de la grille.

Le try...finally est inutile ici car tu n'a pas de ressources à libérer. De plus try...finally ne masque pas les exceptions comme le ferait un try..execpt.

Commentaire de yazi le 17/01/2003 14:38:54

salut,
comment appliquer ça a un dbgrid?

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales