Многострочный TStringGrid 3Delphi , Компоненты и Классы , TStringGrid и TDrawGridМногострочный TStringGrid 3Автор: http://www.sources.ru Сперва необходимо установить свойство DefaultDrawing в False. Далее, необходимо вставить следующий код в обработчик события OnDrawCell: procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row: Longint; Rect: TRect; State: TGridDrawState); var Line1: string; Line2: string; ptr: integer; padding: integer; hGrid: TStringGrid; begin hGrid := (Sender as TStringGrid); ptr := Pos(';', hGrid.Cells[Col, Row]); if ptr > 0 then begin Line1 := Copy(hGrid.Cells[Col, Row], 1, ptr - 1); Line2 := Copy(hGrid.Cells[Col, Row], ptr + 1, Length(hGrid1.Cells[Col, Row]) - ptr); end else Line1 := hGrid.Cells[Col, Row]; hGrid.Canvas.FillRect(Rect); hGrid.Canvas.TextOut(Rect.Left, Rect.Top + 2, Line1); if ptr > 0 then hGrid.Canvas.TextOut(Rect.Left, Rect.Top - hGrid.Canvas.Font.Height + 3, Line2); end; Теперь достаточно для переноса строки вставить в неё точку с запятой. Так же не забудьте изменить высоту строки так, чтобы переносы строки поместились в ячейку: StringGrid1.RowHeights[0] := StringGrid1.DefaultRowHeight * 2; Статья Многострочный TStringGrid 3 раздела Компоненты и Классы TStringGrid и TDrawGrid может быть полезна для разработчиков на delphi & pascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: TStringGrid и TDrawGrid ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |