Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.003 c
15-1298237396
Юрий
2011-02-21 00:29
2011.06.05
С днем рождения ! 21 февраля 2011 понедельник


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


1-1255714707
Critical Section
2009-10-16 21:38
2011.06.05
Как правильно использовать Mutex как замену Critical Section?


15-1297866402
bss
2011-02-16 17:26
2011.06.05
Word.Application - загрузка из потока


2-1299047111
filimonic
2011-03-02 09:25
2011.06.05
Re





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский