Bonjour :?: ,
j'utilise un string Grid 8O et je souhaiterai centrer les donn�es qui s'affiche dans certaines colonnes :( .
Voila tout simplement :wink: .
Merci :D
Version imprimable
Bonjour :?: ,
j'utilise un string Grid 8O et je souhaiterai centrer les donn�es qui s'affiche dans certaines colonnes :( .
Voila tout simplement :wink: .
Merci :D
Bonsoir,
Voil�, �a devrait marcher si tu met cela dans ton OnDrawCell ...Code:
1
2
3
4
5
6 if (Col == 4 && Row == 5) { AnsiString s = StringGrid1->Cells[4][5]; StringGrid1->Canvas->Brush->Color = clRed; StringGrid1->Canvas->FillRect(Rect); StringGrid1->Canvas->TextOut((Rect.Right + Rect.Left - StringGrid1->Canvas->TextWidth(s)) / 2, (Rect.Top + Rect.Bottom - StringGrid1->Canvas->TextHeight(s)) / 2, s); }
NB. Les deux lignes Brush et FillRect servent uniquement si tu veux changer la couleur ...
Mathieu
Oubli ...
En fait cette ligne est obligatoire pour effacer le texte de la case, qui s'�crit automatiquement (justifi� � gauche) ...Code:StringGrid1->Canvas->FillRect(Rect);
... sinon il y a superposition des 2 textes :?
Remplace ma 2i�me ligne par :
pour pouvoir supprimer le test, et centrer toute la grille !Code:AnsiString s = StringGrid1->Cells[Col][Row];
NB. Pense � [R�solu] dans ton titre si tu as ce que tu veux
Mathieu
Personellement quand je fait de la jutification dans un StringGrid
Je ne met rien dans les StringGrid1->Cells[x][y] et j'�cris tous avec
StringGrid1->Canvas->TextRect(...) comme �a tu a pas besoin
d'effacer la case. Et avec TextRect tu est sur de ne pas �crire �
l'exterieur de la case.
Oui,
Je suis d'accord pour remplacer le TextOut par TextRect ...
Mais une telle m�thode permet-t-elle d'acc�der ensuite aux textes ??:koi:
Cela suppose de cr�er un tableau autre :?: pour d�finir toutes les entr�es du tableau ...
... je pr�f�re garder le tableau accessible par StringGrid->Cells[x][y] :)
Mathieu
P.S. Juste un p'tit coup d'oeil � "Fonctions Inaccessibles de TCustomGrid"
:help:
MERCI les gars.... :D