![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Дано:
компонент ListView на форме компонент HeaderControl также на форме над ListView в качестве верхних заголовков списка ListView заполнен данными ширина колонок в ListView выравнивается по содержимому следующим кодом: Код:
for i := 0 to lv.Columns.Count - 1 do
lv.Columns[i].width := ColumnHeaderWidth;Надо задать ширину столбцов HeaderControl так, чтобы первый заголовок был равен ширине первого столбца ListView, а остальные заголовки равны сумме ширины четырех колонок. |
|
#2
|
||||
|
||||
|
что-то вроде
Код:
var
tmp,
i:integer;
...
HeaderControl1.Sections[0].Width:=lv.Columns[0].width;
tmp:=0;
for i:=1 to 4 do
tmp:=tmp+lv.Columns[i].width;
for i:=1 to HeaderControl1.Section.Count-1 do
HeaderControl1.Sections[i].Width:=tmp; |
|
#3
|
|||
|
|||
|
Проблема в том что lv.Columns[0].width; при автоподгонке следующим кодом (по ширине содержимого)
Код:
for i := 0 to lv.Columns.Count - 1 do
lv.Columns[i].width := ColumnHeaderWidth;выдает значение -2 |
|
#4
|
||||
|
||||
|
Цитата:
Спрашиваете одно, а делаете другое: Код:
for i := 0 to lv.Columns.Count - 1 do
lv.Columns[i].width := ColumnHeaderWidth;так что от чего "пляшет"? |
|
#5
|
|||
|
|||
|
Просто сделать так как предлагает cotseec не получиться ввиду того, что когда делается автоподгонка по содержимому, непонятным образом чтение полученной ширины столбца выдает значение -2
|
|
#6
|
||||
|
||||
|
Теперь то понял почему?
Это обычная константа Виндов, определяющая поведение ListView. Тебе про неё лучше вообще забыть. Последний раз редактировалось angvelem, 14.05.2012 в 00:10. |