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

Вниз

КАК поставить ширину колонки грида по самому длинному значению?   Найти похожие ветки 

 
BlackTiger   (2002-09-16 12:56) [0]

Где-то в API есть функция, которая возвращает ширину (длину) и высоту заданного текста исходя из параметров шрифта. Никто не подскажет?
Может это можно решить другим путем?

Задачка - заресайзить колонки DBGrid"a по текущим значениям так, чтобы их значение были видны на экране (как в Excel или почти).


 
Separator ©   (2002-09-16 13:24) [1]


procedure AutoSizeGridColumn;
var
i, j, temp, max: integer;
St: string;
begin
with Grid do
begin
for j:= 0 to (ColCount-1) do
begin
max := 0;
for i := 0 to (RowCount-1) do
begin
St:= cells[j, i];
if TypeStr(St)= tsDate then
St:= TimeToStr(StrToDateTime(St));
temp:= Canvas.TextWidth(St);
if temp>max then
max:= temp
end;
ColWidths[j]:= Max+GridLineWidth+4
end
end
end;


 
sniknik ©   (2002-09-16 13:29) [2]

GetTextExtentPoint32 но лутше наверно методом от канваса пользоватся.


 
Aristarh ©   (2002-09-16 13:35) [3]


У меня сейчас реализовано нечто по смыслу напоминающее то, что предложил Separator. Но хочу переделать с использованием хранимой процедуры. Например, написать аналог ф-ии Length и таким образом определять max длину. Это позволит разгрузить клиент.



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
1-21079
Игорь Бублик
2002-09-24 22:09
2002.10.07
---|Ветка была без названия|---


14-21237
SPeller
2002-09-10 17:04
2002.10.07
С днём рожденья, Игорь Шевченко!!!


3-20940
Kurt
2002-08-29 17:34
2002.10.07
текст SQL-запроса прямо передается на сервер (случай работы с MS


1-20954
Kaban
2002-09-26 10:21
2002.10.07
Доступ к элементам списка


3-20935
KIR
2002-09-18 02:22
2002.10.07
Что это за файлы создает Paradox: _QSQ12.DB(MB)