Как сделать чтобы в две строки писалось? StringGrid1.Cells[18,0]:= 'Прочие услуги' + #13 + '(доставка)'; так неканает(
в обработчик DrawCell допиши: Code: procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin StringGrid1.Canvas.FillRect(Rect); DrawText( StringGrid1.Canvas.Handle, Pchar(StringGrid1.Cells[Acol, Arow]), Length(StringGrid1.Cells[Acol, Arow]), Rect, dt_calcrect Or dt_wordbreak Or dt_left); If (Rect.bottom - Rect.top) <> StringGrid1.RowHeights[ARow] Then StringGrid1.RowHeights[ARow] := (Rect.bottom - Rect.top) Else DrawText( StringGrid1.Canvas.Handle, Pchar(StringGrid1.Cells[Acol, Arow]), Length(StringGrid1.Cells[Acol, Arow]), Rect, dt_wordbreak Or dt_left); end; и компонент сам поставит переносы там, где надо
p.s.: скорость работы отрисовки очень долгая ( можеш использоватькомпоненти: TEmiStringGrid TKStringGrid http://www.torry.net/pages.php?s=73 http://www.delphipages.com/result.cfm?ID=2863 вот почитай: http://subscribe.ru/archive/comp.soft.prog.delphiplus/200706/05210132.html