Форум: "Основная";
Текущий архив: 2011.06.05;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.002 c