Главная страница
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.057 c
1-1174544437
XsID
2007-03-22 09:20
2007.05.20
Противостояние принтера


2-1177153283
Cavalera
2007-04-21 15:01
2007.05.20
Помогите, возникла проблема с игрой


11-1159527274
Юрий Шабанов
2006-09-29 14:54
2007.05.20
Delphi with KOL only.


2-1178229164
Kostafey
2007-05-04 01:52
2007.05.20
Вложенные SQL запросы в СУБД Access


9-1137053986
Ньюб2
2006-01-12 11:19
2007.05.20
Фейерверк в DelphiX