Автоматический подбор ширины колонок для TStringGrid или TDrawGridDelphi , Компоненты и Классы , TStringGrid и TDrawGridАвтоматический подбор ширины колонок для TStringGrid или TDrawGrid
Оформил: DeeCo { This will resize the columns of a TStringGrid / TDrawGrid (text only!) so the text is completely visble. To save some time, it uses the first 10 rows only, but that should be easy to fix, if you need more. } // we need this to access protected methods type TGridHack = class(TCustomGrid); procedure ResizeStringGrid(_Grid: TCustomGrid); var Col, Row: integer; Grid: TGridHack; MaxWidth: integer; ColWidth: integer; ColText: string; MaxRow: integer; ColWidths: array of integer; begin Grid := TGridHack(_Grid); SetLength(ColWidths, Grid.ColCount); MaxRow := 10; if MaxRow > Grid.RowCount then MaxRow := Grid.RowCount; for Col := 0 to Grid.ColCount - 1 do begin MaxWidth := 0; for Row := 0 to MaxRow - 1 do begin ColText := Grid.GetEditText(Col, Row); ColWidth := Grid.Canvas.TextWidth(ColText); if ColWidth > MaxWidth then MaxWidth := ColWidth; end; if goVertLine in Grid.Options then Inc(MaxWidth, Grid.GridLineWidth); ColWidths[Col] := MaxWidth + 4; Grid.ColWidths[Col] := ColWidths[Col]; end; end; Перевод контента на русский язык: Код Delphi, который изменяет размеры столбцов TStringGrid или TDrawGrid для полного отображения текста в каждом столбце, использует хак для доступа к защищенным методам контроля grid. Рассмотрим шаги кода:
Код использует хак для доступа к защищенным методам, создавая экземпляр В целом, этот код полезен для динамического изменения размеров столбцов TStringGrid или TDrawGrid на основе содержимого текста в каждом столбце. Альтернативное решение без хака:
В этом альтернативном решении мы используем метод Автоматический подбор ширины колонок для TStringGrid или TDrawGrid позволяет обеспечить полную видимость текста, используя только первые 10 строк. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: TStringGrid и TDrawGrid ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |