![]() |
|
|
Регистрация | << Правила форума >> | 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; так что от чего "пляшет"? Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#5
|
|||
|
|||
![]() Просто сделать так как предлагает cotseec не получиться ввиду того, что когда делается автоподгонка по содержимому, непонятным образом чтение полученной ширины столбца выдает значение -2
|
#6
|
||||
|
||||
![]() Теперь то понял почему?
Это обычная константа Виндов, определяющая поведение ListView. Тебе про неё лучше вообще забыть. Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. Последний раз редактировалось angvelem, 14.05.2012 в 00:10. |