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

Вниз

Автоматический ресайз колонок в 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.072 c
2-1337694534
toropoff
2012-05-22 17:48
2013.03.22
ADO


15-1337670031
Pcrepair
2012-05-22 11:00
2013.03.22
Правильное использование DLL


6-1260958453
zsv
2009-12-16 13:14
2013.03.22
Непонятно поведение TIdTCPServer


15-1352383958
Artem
2012-11-08 18:12
2013.03.22
XP на VirtualBox e запускается со второго раза


15-1347612790
LDV
2012-09-14 12:53
2013.03.22
Управление флагами в InnoSetup