cs_leprintemp
Messages postés6Date d'inscriptionmercredi 30 mars 2011StatutMembreDernière intervention 9 mars 2012
-
1 mars 2012 à 22:40
cs_leprintemp
Messages postés6Date d'inscriptionmercredi 30 mars 2011StatutMembreDernière intervention 9 mars 2012
-
9 mars 2012 à 12:16
bsr a tous;
je veux colorer une ligne d'une stringgrid a chaque changement d'une cellule, j'ai mis le code ci-dessous dans l'evenement OnDrawCell mais le changement de couleur s'applique que sur la cellule active et pour que le reste soit colorer je dois les selectionnees une par une, voici le code:
With Sender As TStringGrid Do With Canvas Do
Begin
If gdFixed in State
Then Brush.Color := clBtnFace
Else If gdSelected In State
Then Brush.Color := clNavy
else if Cells[4,arow]='Non' then Brush.Color := $FFE0FF
else Brush.Color := $FFFFE0;
FillRect(Rect);
If gdSelected In State
Then Font.Color:=clWhite
Else Font.Color:=clBlack;
DrawText(Canvas.Handle, PChar(Cells[ACol,ARow]), -1, Rect ,
DT_CENTER or DT_NOPREFIX or DT_WORDBREAK );
End;
cs_leprintemp
Messages postés6Date d'inscriptionmercredi 30 mars 2011StatutMembreDernière intervention 9 mars 2012 3 mars 2012 à 11:13
plus le code ci-dessus de OnDrawCell on ajouter dans la procedure qui change le contenue de la cellule la ligne:
StringGrid1.Invalidate; {pour redessiner la StringGrid1}
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 4 mars 2012 à 15:39
bouh..
la méthode invalidate dans le OnDrawCell a pour conséquence
de déclencher un sautillement intempestif..
peut-être en ajoutant dans le OnCreate de la forme
StringGrig1.doublebuffered := true;
et puis je ne vois pas de :
je veux colorer une ligne d'une stringgrid