Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизАвтоматический ресайз колонок в ListView Найти похожие ветки
← →
SPeller © (2012-01-25 15:42) [0]Всем привет! Давно не юзаль Дельфи, что-то совсем навыки потерял.
Есть ListView в режиме Report. Есть несколько колонок, у первой AutoSize установлен в True. Без данных - всё отлично, колонки выравниваются по ширине окна, горизонтальный скролл не появляется. Добавляю контролу строки, которые не умещаются в один экран, в результате у контрола появляется сразу два скролла. Чег быть не должно - колонка, которая имеет AutoSize, по идее, должна сжаться на ширину вертикального скролла, чтобы не было горизонтального. Если после этого сделать любой ресайз контрола, даже на 1 пиксель - колонки становятся на свои места и горизонтальный скролл исчезает. Как сделать так, чтобы этого горизонтального скролла не было сразу после добавления строк?
ХЕ
← →
SPeller © (2012-01-25 15:46) [1]Ой, блин, не в тот раздел запостил, прошу модеров перенести.
← →
SPeller © (2012-01-26 12:55) [2]ап
← →
SPeller © (2012-01-26 15:38) [3]Понятно, мастера дельфи - мастера потрепаться )
Решил дело написанием наследника ListView, в котором при автосайзе колонок из общей ширины вычитаю ширину скроллбара. В результате всё отлично, но слишком сложно, как из пушки по воробьям. В итоге победил обманом, без наследника. Один минус - если вертикального скроллбара нет, то остается пустое место справа, и при ресайзе контрола колонки дергаются, заполняя всю ширину. А потом нашел и этого косяка решение.
Всем спасибо :)
← →
xayam © (2012-01-26 15:53) [4]
> мастера дельфи - мастера потрепаться
без этого никак
> Всем спасибо :)
пожалуйста :)
← →
Maksim V. © (2012-04-02 01:13) [5]Используй сообщение LVM_SETCOLUMNWIDTH с параметром LVSCW_AUTOSIZE_USEHEADER если я правильно понял.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.073 c