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

Вниз

ListView неправильно позицинирует первую строку   Найти похожие ветки 

 
GreyWolf   (2009-10-22 17:05) [0]

Имеется ListView в режиме OwnerData, но не OwnerDraw. Когда я удаляю все строки (устанавливаю ListView.Items.Count = 0) и после этого вновь что-то добавляю, то _иногда_ первая строка появляется не в самом верху, как она должна быть, а с отступом например в 3-20 позиций сверху. В остальном ListView функционирует нормально. После того, как ListView вошел в это состояние, эти пустые строки сверху остаются при повторном удалении всех строк и добавлении новых. Items.Count показывает ожидаемое значение. В чем может быть причина такого поведения?


 
Сергей М. ©   (2009-10-22 17:25) [1]


> после этого вновь что-то добавляю


> и добавлении новых


Какое может быть добавление и удаление в режиме OwnerData ?

В этом режиме изменяя св-во Count на любое значение > 0 ты должен быть готов к соответствующему и правильному состоянию виртуального списка, к которому ты будешь обращаться в обработчиках OnData, OnDataXXXX.

Значит либо список не готов к изменению Count либо неверно обрабатываешь вышеупомянутые события


 
GreyWolf   (2009-10-22 19:30) [2]

Добавление и удаление - имел ввиду установку Items.Count с последующей отрисовкой нового состояния.
Есть обработчик OnData, он отрабатывает как ожидается. То же с OnCustomDrawItem. Эти обработчики не изменяют параметры Canvas (DC) у ListView, которые могли бы сместить строки.

> Значит либо список не готов к изменению Count
А что значит список не готов?


 
Сергей М. ©   (2009-10-22 20:15) [3]

Покажи как у тебя организован список, откуда обработчик OnData берет данные ..


 
GreyWolf   (2009-10-23 02:15) [4]

Проблема исчезла после того, как перестал вызывать ClearSelection метод в случае, если удалены все пункты.



Страницы: 1 вся ветка

Текущий архив: 2011.06.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
2-1298668522
Проходящий
2011-02-26 00:15
2011.06.05
Отлов ошибок аппаратного уровня.


2-1298894365
advise
2011-02-28 14:59
2011.06.05
Посоветуйте плз при помощи какого компонента сделать?


2-1296858499
Alik
2011-02-05 01:28
2011.06.05
Сбой при вызове методов ZLib из DLL


2-1298609942
maxefficiently
2011-02-25 07:59
2011.06.05
RAR Component


1-1256587984
fuzzy
2009-10-26 23:13
2011.06.05
Не срабатывают breakpoints при отладке ActiveXForm