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

•  TDictionary Custom Sort  3 227

•  Fast Watermark Sources  2 992

•  3D Designer  4 751

•  Sik Screen Capture  3 259

•  Patch Maker  3 467

•  Айболит (remote control)  3 528

•  ListBox Drag & Drop  2 904

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

•  Графические эффекты  3 843

•  Рисование по маске  3 172

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

•  Canvas Drawing  2 672

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

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

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

•  Paint on Shape  1 525

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

•  Головоломка Paletto  1 730

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

•  Пазл Numbrix  1 649

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

•  Игра HIP  1 262

•  Игра Go (Го)  1 201

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

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

•  Генератор лабиринта  1 512

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

•  HEX View  1 466

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

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

 
скрыть


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

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



Delphi Sources

Автоматический подбор ширины колонок для 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-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте