Недавно добавленные исходники

•  TDictionary Custom Sort  507

•  Fast Watermark Sources  873

•  3D Designer  1 803

•  Sik Screen Capture  1 456

•  Patch Maker  1 459

•  Айболит (remote control)  1 387

•  ListBox Drag & Drop  1 157

•  Доска для игры Реверси  21 252

•  Графические эффекты  1 336

•  Рисование по маске  1 274

•  Перетаскивание изображений  1 085

•  Canvas Drawing  962

•  Рисование Луны  802

•  Поворот изображения  754

•  Рисование стержней  801

•  Paint on Shape  486

•  Генератор кроссвордов  747

•  Головоломка Paletto  659

•  Теорема Монжа об окружностях  839

•  Пазл Numbrix  607

•  Заборы и коммивояжеры  835

•  Игра HIP  549

•  Игра Go (Го)  522

•  Симулятор лифта  544

•  Программа укладки плитки  505

•  Генератор лабиринта  560

•  Проверка числового ввода  520

•  HEX View  595

•  Физический маятник  522

•  Задача коммивояжера  556

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Автоматический подбор ширины колонок для 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;




Похожие по теме исходники

Нейросеть для распознавания образов

Механизм станка качалки для нефти

Весы для взвешивания

Кувшины для воды

 

Доска для игры Реверси

TStringGridCheker




Copyright © 2004-2022 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте   Facebook   Ссылка на Twitter   Ссылка на Telegram