Bonjour à tous, je souhaiterais savoir s'il est possible d'afficher plusieurs lignes dans un cellule de StringGrid?
Merci
Xavier
Version imprimable
Bonjour à tous, je souhaiterais savoir s'il est possible d'afficher plusieurs lignes dans un cellule de StringGrid?
Merci
Xavier
Oui
mais il faut les dessiner avec le canvas sur l'événement OnDrawCell.
Encore un peu de lumière car je n'arrive pas à comprendre.
Merci
Xavier
Bonsoir,
C'est vrai que même avec l'indication, il restait du boulot :D ...
Voilà un bout de code qui devrait fonctionner :
A placer dans l'événement OnDrawCell de la Grille.
C'est un peu long, car ça centre le texte en abscisse ...Code:
1
2
3
4
5
6
7
8
9
10
11
12 AnsiString s = StringGrid1->Cells[Col][Row]; int a = s.Pos("#"); if (a) { TRect R = Rect; AnsiString t = s.SubString(1, a - 1); R.Bottom = (R.Top + R.Bottom) / 2; StringGrid1->Canvas->TextRect(R, (R.Right + R.Left - StringGrid1->Canvas->TextWidth(t)) / 2, (R.Top + R.Bottom - StringGrid1->Canvas->TextHeight(t)) / 2, t); t = s.SubString(a+1, s.Length()-a); R.Top = R.Bottom; R.Bottom = Rect.Bottom; StringGrid1->Canvas->TextRect(R, (R.Right + R.Left - StringGrid1->Canvas->TextWidth(t)) / 2, (R.Top + R.Bottom - StringGrid1->Canvas->TextHeight(t)) / 2, t); }
Evidemment, tu mets ce que tu veux pour indiquer ton passage à la ligne ... (à la place du "#")
Mathieu
P.S. N'oublie pas [RESOLU] si c'est bon ... :wink: