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

Вниз

Как преобразовать TField.DisplayWidth в ListView.Column[x].Width?   Найти похожие ветки 

 
Rav   (2007-12-07 12:16) [0]

Подскажите, как пересчитать ширину поля набора данных в физицеску ширину столбца в пикселях, к примеру для TListView: TField.DisplayWidth -> ListView.Column[x].Width?

Есть ли какая формула, дабы потом не было косяков с размерами символов и т.д. Ведь TDbGrid как-то пересчитывает, но как? - я не уловил принципа.


 
{RASkov} ©   (2007-12-07 13:38) [1]

> [0] Rav   (07.12.07 12:16)

Читал-читал.... читал-читал.... не понял суть :(

либо
:=
либо
Canvas.TextWidth
?


 
Rav   (2007-12-07 14:10) [2]

Нет, совсем не то.
Нужно создать в ListView несколько столбой таблицы (выборочно)
При этом нужно расчитать ширину столбца в пикселях, оновываясь на ширине поля в символах.


       if Assigned(ListField) then
       begin
         with ListView.Columns.Add do
         begin
           Data := ListField;
           Caption := ListField.DisplayName;
           Width := ListField.DisplayWidth ???????????????;
         end;
       end;


 
{RASkov} ©   (2007-12-07 14:23) [3]

> [2] Rav   (07.12.07 14:10)

Тебе столбец шириной как текст в заголовке колонки, или шириной самой "широкой" ячейки?
В прочем и там и там [1] т.е. Canvas.TextWidth

Width := ListView.Canvas.TextWidth(ListField.DisplayName);
Вот что-то так....
...но это ширина "по заголовку", а как по самой широкой ячейке, сам подумай..... т.е. тут и думать-то уже не нужно...


 
atruhin ©   (2007-12-07 16:52) [4]

> TField.DisplayWidth -> ListView.Column[x].Width

Обычно в компонентих используется Canvas.TextWidth("a");
Т.е. символ средней ширины.


 
Правильный_Вася   (2007-12-07 18:25) [5]

интересно поглядеть на лисвиев, у которого ширина колонок по 10000 знаков


 
Rav   (2007-12-07 18:38) [6]


> Width := ListView.Canvas.TextWidth(ListField.DisplayName);

Спасибо, вот именно то что нужно... дальше я уже сам :-)



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
2-1216363326
abhtr
2008-07-18 10:42
2008.08.24
Как записать текстовый файл в DOS кодировке


3-1204397912
Kley
2008-03-01 21:58
2008.08.24
Бэкап MSSQL2005


2-1216297461
User
2008-07-17 16:24
2008.08.24
обработка ошибок записи SaveToFile


15-1215433698
DRG
2008-07-07 16:28
2008.08.24
C# или С++ с чего начать?


11-1192907816
Turbid
2007-10-20 23:16
2008.08.24
TabControl и XP