TStringGrid : écrire plusieurs lignes dans une cellule

Hedjam Messages postés 1 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 6 mai 2007 - 6 mai 2007 à 21:02
philippefhotmail Messages postés 1 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 15 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,


     


  C'est Momad  M.Hedjam0103@yahoo.fr


   Merci.

10 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
6 mai 2007 à 22:37
Quelle est la question ?

Inutile de laisser une adresse mail, personne ne t'enverra de code prémaché. Si tu as un probleme, décrit le précisement, et tu recevras de l'aide.
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
7 mai 2007 à 09:11
Bonjour,

Essaie en coupant ta chaine avec #13#10...

Simon
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
7 mai 2007 à 09:24
Salut,

Le #13#10 ne fonctionne pas ?

???? := 'première ligne' + #10#13 + 'deuxième ligne'
0
jelume Messages postés 120 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 15 novembre 2007 1
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
7 mai 2007 à 10:07
procedure SGAdd(Grid : TStringGrid; const ACol, ARow : integer; const S : string);
begin
  if ACol > Grid.ColCount-1 then
     Grid.ColCount := ACol+1;
  if ARow > Grid.RowCount-1 then
     Grid.RowCount := ARow+1;
  Grid.Cells[ACol, ARow] := S;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SGAdd(StringGrid1, 1, 2, 'Test 1,2');
  SGAdd(StringGrid1, 6, 8, 'Test 8,6');
  SGAdd(StringGrid1, 8, 2, 'Test 8,2');
end;





0
jelume Messages postés 120 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 15 novembre 2007 1
7 mai 2007 à 10:30
rebonjour

euh ... comment ça va l'aider à mettre plusieurs lignes dans une meme cellule ?

J-L
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
7 mai 2007 à 10:34
jelum -> mais de qui parles tu ?

En plus j'ai oublié de raffraichir avant de poster et donc n'ai pas vu la réponse de simonpelloquin 13 min plutôt... pas réveillé le lundi
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
7 mai 2007 à 11:10
AAAH! au temps pour moi, je croyais qu'il n'arrivait pas a ecrirer dans le TStringGrid ;)

Bah tu peu pas, TStringGrid ne permet pas nativement d'avoir des cellules multi-lignes...

0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
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

Simon
0
philippefhotmail Messages postés 1 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 15 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;

end;
0
Rejoignez-nous