Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: CL | DM;

Вниз

TStringGrid на манер грида в Mozilla Thunderbird   Найти похожие ветки 

 
Iks   (2007-03-22 11:07) [0]

Здравствуйте.

Как можно реализовать автораспределение ширины столбцов в гриде так, как это сделано в Thunderbird, и чтобы был последний столбец типа "показать/скрыть столбцы". У меня не получается даже вычислить ширину канвы у грида, потому что не знаю, какая ширина полосы скролла будет у юзеров...

С уважением.


 
clickmaker ©   (2007-03-22 11:18) [1]


> какая ширина полосы скролла будет у юзеров

GetSystemMetrics(SM_CXSCROLL)?


 
Крик   (2007-03-22 11:21) [2]

clickmaker
А дальше? Я пробую так:

procedure AutoSizeGridColumn(Grid: TStringGrid; column, min, max: Integer);
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;


А потом делаю 2ой столбец на недостающую длину. Но это - не гуд. Потому что если остальные столбцы длиннее, получается "уход за границу".

Хотелось бы так, чтобы автосайз срабатывал только если ширина меньше ширины канвы, а последний столбец всегда был в границу грида...


 
ЮЮ ©   (2007-03-22 11:28) [3]

> Хотелось бы так, чтобы автосайз срабатывал только если ширина
> меньше ширины канвы,

Ну так посчитай суммарную ширину столбцов, а потом уже, если она меньше клиентской ширины грида, делай свой AutoSize



Страницы: 1 вся ветка

Текущий архив: 2007.05.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.061 c
15-1176587886
Kostafey
2007-04-15 01:58
2007.05.20
В чем же прелесть попсы ?


15-1177166776
kvinto
2007-04-21 18:46
2007.05.20
Где скачать компоненты для delphi??????!!!!!!!!


2-1178037815
Антон Шестаков
2007-05-01 20:43
2007.05.20
Меню как в Nero


2-1178270371
npu3pak
2007-05-04 13:19
2007.05.20
CheckListBox


15-1177089238
фывов
2007-04-20 21:13
2007.05.20
Как правильно прописать путь к PHP-скрипту?