TStringGrid : écrire plusieurs lignes dans une cellule
Hedjam
Messages postés1Date d'inscriptionjeudi 19 janvier 2006StatutMembreDernière intervention 6 mai 2007
-
6 mai 2007 à 21:02
philippefhotmail
Messages postés1Date d'inscriptionjeudi 6 décembre 2007StatutMembreDernière intervention15 octobre 2008
-
15 oct. 2008 à 17:28
Salus,
j'utilise souvent dans mes application Delphi le composant TStringGrid amis le problème
c'est que j'arrive pas à ecrire plusieurs lignes dans une céllule.
et si vous permettez, veuiller m'aider à le réaliser,
jelume
Messages postés120Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention15 novembre 20071 7 mai 2007 à 09:43
Bjr,
Pour tous ceux comme moi qui ne savent jamais dans ordre mettre les 2 caractères #10 et #13, utilisez plutôt sLineBreak ....
Mettre un saut de ligne pourra éventellement couper le texte mais ne va pas pour autant augmenter la hauteur de ligne. Je pense qu'l faudra passer par OnDrawCell.
J-L
Vous n’avez pas trouvé la réponse que vous recherchez ?
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 7 mai 2007 à 17:58
Re bonjour,
C'est pour ça (entre autres) que j'utilise l'excellent composant
TStringAlignGrid du non moins excellent M. Hoerstemeier, qui est une
grille beaucoup plus souple... Et avec cette grille (gratuite au
passage), pas de problème pour les renvois à la ligne
philippefhotmail
Messages postés1Date d'inscriptionjeudi 6 décembre 2007StatutMembreDernière intervention15 octobre 2008 15 oct. 2008 à 17:28
On peut s'en sortir, grace au redessinement de la cellule dans l'évenement DrawCell en utilisant la fonction Canvas.TextRect
Exemple
procedure TFormPlanification.StringGridPlanningDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
s : string;
begin
if ( ACol > 0 ) and ( ARow > 0 ) then
begin
StringGridPlanning.Canvas.FillRect(rect);
s :=StringGridPlanning.Cells[ACol,Arow];
StringGridPlanning.Canvas.TextRect(rect,s);
end;