Bonjour à tous, je souhaiterais savoir s'il est possible d'afficher plusieurs lignes dans un cellule de StringGrid?
Merci
Xavier
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.
Site : http://chgi.developpez.com
Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)
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 ...
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ...
Développeur confirmé C++, Java, Python, JS.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager