Автоматический подбор ширины колонок для TStringGridDelphi , Компоненты и Классы , TStringGrid и TDrawGridАвтоматический подбор ширины колонок для TStringGrid
Оформил: DeeCo procedure SetGridColumnWidths(Grid: TStringGrid; const Columns: array of Integer); { When you double-Click on a Column-Header the Column autosizes to fit its content Bei Doppelklick auf eine fixierte Spalte passt sich die Spaltenbreite der Textgrosse an } procedure AutoSizeGridColumn(Grid: TStringGrid; column, min, max: Integer); { Set for max and min some minimal/maximial Values} { Bei max and min kann eine Minimal- resp. Maximalbreite angegeben werden} var i: Integer; temp: Integer; tempmax: Integer; begin tempmax := 0; for i := 0 to (Grid.RowCount - 1) do begin temp := Grid.Canvas.TextWidth(Grid.cells[column, i]); if temp > tempmax then tempmax := temp; if tempmax > max then begin tempmax := max; break; end; end; if tempmax < min then tempmax := min; Grid.ColWidths[column] := tempmax + Grid.GridLineWidth + 3; end; procedure TForm1.StringGrid1DblClick(Sender: TObject); var P: TPoint; iColumn, iRow: Longint; begin GetCursorPos(P); with StringGrid1 do begin P := ScreenToClient(P); MouseToCell(P.X, P.Y, iColumn, iRow); if P.Y < DefaultRowHeight then AutoSizeGridColumn(StringGrid1, iColumn, 40, 100); end; end; Программный код на Delphi, который автоматически изменяет ширину столбцов в компоненте TStringGrid, основываясь на содержимом ячеек при двойном клике по заголовку столбца. Процедура Разбор кода:
Предложения по улучшению:
Автоматическое определение ширины столбцов TStringGrid при двойном клике на заголовок столбца. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: TStringGrid и TDrawGrid ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |