Bonjour: ,
j'utilise un string Gridet je souhaiterai centrer les données qui s'affiche dans certaines colonnes
.
Voila tout simplement.
Merci![]()
Bonjour: ,
j'utilise un string Gridet je souhaiterai centrer les données qui s'affiche dans certaines colonnes
.
Voila tout simplement.
Merci![]()
Bonsoir,
Voilà, ça devrait marcher si tu met cela dans ton OnDrawCell ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part 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 : Sélectionner tout - Visualiser dans une fenêtre à part 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.
Site : http://chgi.developpez.com
Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)
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 ??
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"
![]()
Partager