Главная страница
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.005 c
2-1298670826
TStas
2011-02-26 00:53
2011.06.05
Как у Дельфей переставить папку по умолчанию?


4-1248243091
Danger
2009-07-22 10:11
2011.06.05
в терминальной сессии - найти окно по классу


1-1256548761
GreyWolf
2009-10-26 12:19
2011.06.05
False virus detection


15-1297841206
И. Павел
2011-02-16 10:26
2011.06.05
Явамастер


2-1298280359
>|<
2011-02-21 12:25
2011.06.05
как проверить, что файл открыт