![]() |
|
![]() ![]() ![]() |
|
Homer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 29.12.2004 Репутация: нет Всего: нет |
Мне необходимо отображать очень большой список из 100000 элементов приблизительно. Слышал что-то про виртуалтные списки, которые для этого вроде и предназначены, покопался в MSDN, но ничего путевого там не нашел.
Подскажите пжл, где можно найти инфу по данной теме, а если там все достаточно просто, то напишите тут. Заранее благодарен. |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 4 Всего: 56 |
а чем обычный не устраивает??
у меня было окол 50 млн. значений, использовал обычный список.. |
|||
|
||||
Dray |
|
|||
![]() Материалист ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 7.10.2003 Где: г. Всеволожск Репутация: 2 Всего: 6 |
Проблема может возникнуть если сразу начать заполнять список всеми 100000 элементами. Очень долго ждать придется. В этом случае следует постепенно подгружать элементы, когда пользователь прокручивает список.
|
|||
|
||||
AlexPro |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 9.11.2005 Где: Санкт-Петербург Репутация: 3 Всего: 4 |
Мне нужен был список, расчитанный на пару-тройку десятков тысяч записей. Думал, обойдется. Проблемы с производительностью начались уже на сотнях записей. После переделки под виртуальный список - летает на тысячах.
Собственно, о работе со списком можно посмотреть раздел List-View Controls Если же своими словами, суть заключается в следующем: для списка при его создании определяется стиль LVS_OWNERDATA Затем нужно указать количество отображаемых элементов (функция SetItemCountEx). После этого остается только перехватывать сообщение LVN_GETDISPINFO, посылаемое для каждой ячейки списка, и подсовывать списку нужную для отображения информацию (например, из массива).
Получается гибкая и шустрая система, однако, придется распрощаться с автоматической сортировкой. |
|||
|
||||
Homer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 29.12.2004 Репутация: нет Всего: нет |
Спасибо, AlexPro, то что надо, все заработало, а, проблема действительно была при загрузке - список грузился неприлично долго.
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |