Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.10.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.013 c
14-21243
Namo
2002-09-11 19:37
2002.10.07
Интересно, а как там терракты в Америке, вроде тихо, странно


6-21187
spiderman
2002-05-08 12:22
2002.10.07
Please...


1-21051
UnDISCOvery
2002-09-26 16:55
2002.10.07
Как мне создать форму во вторичном потоке ?


1-21024
начинающий програмер
2002-09-24 17:52
2002.10.07
Cимволы в верхнем регистре


1-21127
nikitin
2002-09-24 13:02
2002.10.07
после инсталяции Delphi6 на W2kPro не инсталируются сервис паки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский