Главная страница
    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.45 MB
Время: 0.04 c
15-1177166776
kvinto
2007-04-21 18:46
2007.05.20
Где скачать компоненты для delphi??????!!!!!!!!


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


15-1177022591
rsacoder
2007-04-20 02:43
2007.05.20
Посоветуйте что-нибудь


15-1176963653
Anton_La
2007-04-19 10:20
2007.05.20
Записать в цикле.


11-1160059285
ZiTrAX
2006-10-05 18:41
2007.05.20
MaskEdit в KOL/MCK





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский