-
Всем привет! Давно не юзаль Дельфи, что-то совсем навыки потерял. Есть ListView в режиме Report. Есть несколько колонок, у первой AutoSize установлен в True. Без данных - всё отлично, колонки выравниваются по ширине окна, горизонтальный скролл не появляется. Добавляю контролу строки, которые не умещаются в один экран, в результате у контрола появляется сразу два скролла. Чег быть не должно - колонка, которая имеет AutoSize, по идее, должна сжаться на ширину вертикального скролла, чтобы не было горизонтального. Если после этого сделать любой ресайз контрола, даже на 1 пиксель - колонки становятся на свои места и горизонтальный скролл исчезает. Как сделать так, чтобы этого горизонтального скролла не было сразу после добавления строк?
ХЕ
-
Ой, блин, не в тот раздел запостил, прошу модеров перенести.
-
ап
-
Понятно, мастера дельфи - мастера потрепаться ) Решил дело написанием наследника ListView, в котором при автосайзе колонок из общей ширины вычитаю ширину скроллбара. В результате всё отлично, но слишком сложно, как из пушки по воробьям. В итоге победил обманом, без наследника. Один минус - если вертикального скроллбара нет, то остается пустое место справа, и при ресайзе контрола колонки дергаются, заполняя всю ширину. А потом нашел и этого косяка решение. Всем спасибо :)
-
> мастера дельфи - мастера потрепаться
без этого никак
> Всем спасибо :)
пожалуйста :)
-
Используй сообщение LVM_SETCOLUMNWIDTH с параметром LVSCW_AUTOSIZE_USEHEADER если я правильно понял.
|