Newsgroup: it.comp.lang.delphi
Titolo: wordwrap con una stringgrid

Salve a tutti!
ho un piccolo problema non riesco a portare il testo a capo in una
griglia. In poche parole ho una stinga molto lunga e vorrei che fosse
visualizzata in più righe all'interno di una cella.
Grazie!

visualizzata in piů righe all'interno di una cella.
Com'e' il componente non puoi. Cerca in google mettendo TstringGrid e 
wordwrap, Giorgio 

Io uso questo componente e funziona molto bene, ciao buon lavoro
Brunello
{ TEmiStringGrid component version 1.1
  Author : Eric MINET - 
eric....@libertysurf.fr
  Status : Freeware with sources
  Target : Delphi 1.0 to Delphi 5.0, maybe C++ Builder 1.0-4.0
  Derived from TStringGrid. Based on idea from Robert Vivrette.
  Added features :
  published properties :
  - ColTitles : set text for each cell of the first row (column
titles)
  - RowTitles : set text for each cell of the first column (row
titles)
  - DefaultCellsAlignment : defines the default text alignment for all
    cells of the grid at design-time.
  - DefaultMultiLineCells : defines the default text multi-line
capability
    at design-time.
  Events :
  - OnGetCellColor : allows Brush, Font, alignment and multi-line
    capability to be set at run-time for each cell of the grid. }

wordwrap, Giorgio 
Non è proprio corretto. Basta agire sull'evento ondraw del tipo:
if length(StringGrid.Cells[ACol,ARow])<10 then A:=1 Else A:=15;
StringGrid.Canvas.TextOut(Rect.Left+2,Rect.Top+A,StringGrid.Cells[ACol,ARow]);
etc. etc.
--- posted by geoForum on 
http://www.delphiedintorni.it

cioč va spezzato il testo col canvas. il codice sopra non č giusto. Ma č
facilissimo metterloo giů giusto. 
Ciao


Non č proprio corretto. 
Riecco il troll...

>Riecco il troll...
Avete rotto il c...o con sto Troll. Leggi e impara
L'immaginazione è più importante della conoscenza!
DA RAFFINARE, in base a tipo caratteri etc.
var T : String;
begin
T:=Stringgrid1.Cells[ACol,ARow];
if length(T)>10 then
                begin
                Delete(T,10,length(T));
                StringGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+1,T);
                T:=Stringgrid1.Cells[ACol,ARow];
                Delete(T,1,10);
                StringGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+15,T);
                end;


ovviamente nell'evento ondraw, come già detto
Ciao !


generalizzata diventa - metti meglio parametri
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var T   : String;
    L,Cv,Ch,H,S : Integer;
begin
T:=Stringgrid1.Cells[ACol,ARow];
L:=Stringgrid1.ColWidths[ACol];
H:=Stringgrid1.RowHeights[ARow];
// Larghezza del carattere
Ch:=15;
// Altezza del carattere
Cv:=15;
if T<>'' then begin S:=L mod length(T)*Ch;
                    Stringgrid1.RowHeights[ARow]:=Cv*S; end;
// qui metti le varie divisioni - deve dividere n-volte
if length(T)*Ch>L then
                 begin
                 Delete(T,L mod Ch,length(T));
                 StringGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+1,T);
                 T:=Stringgrid1.Cells[ACol,ARow];
                 Delete(T,1,L mod Ch);
                 StringGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+15,T);
                 end;
end;


Avete rotto il c...o con sto Troll. Leggi e impara
Sparisci troll. Non attacca.

Aggiungo l'ultimissima cosa, figurati se Borland fa una griglia dove non
si può allineare e andare a capo !
Sta tutto in questa istruzione e nelle coordinate. 
Poi ridimensioni in automatico le celle, etc.
StringGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+15,T);
Ti scrivi una volta le routine del caso e fai allineamenti, ritorni etc.


>Sparisci troll. Non attacca.
Compila e vedrai.
Notte!


FUNZIONA !
Grazie Gatto Bianco, mi hai tolto da un bel problema.
Ciao :-D


Grazie Gatto Bianco, mi hai tolto da un bel problema.
ROTFL...
Ma smettila... sei patetico!!..

 Ma smettila... sei patetico!!..
Concordo al 100%. Che tristezza! :-D
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

Che sstraaazzziioooo!  :-D
mmmmmmmmiiiiiiiiiiiiiiiiiaaaaaaaaaaaaaaaaaaaaaaooooooooooooooooo !
