Главная страница
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.006 c
2-1298528519
Trekker
2011-02-24 09:21
2011.06.05
Открытие страницы IE в полноэкранном режиме в текущем окне


1-1256216742
GreyWolf
2009-10-22 17:05
2011.06.05
ListView неправильно позицинирует первую строку


2-1294930060
Scott Storch
2011-01-13 17:47
2011.06.05
загрузка dll из ресурса


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


15-1298237396
Юрий
2011-02-21 00:29
2011.06.05
С днем рождения ! 21 февраля 2011 понедельник