Картинки в ListView без ImageList
От: DENISIUS_R  
Дата: 03.10.08 19:49
Оценка:
Есть стандартный ListView работающий в вирт. режиме. В него выводятся очень много айтемов содержащие иконку 48x48 и текст. Все картинки заносятся в ImageList. Но... метод imageList. Images[i].AddImage(path); очень медленно работает. Например загрузка четырёх тысяч картинок с винта в List<Image> — занимает пару секунд, а в ImageList — под сорок секунд... Да и вообще это серьёзное ограничение ListView не возможность напрямую присваивать айтемам картинки. Вопрос: Как можно обойти ограничение с картинками? может можно как-то в обход .Net .. Или кто-то приведёт пример CustomDraw корректно работающим в вирт режиме. Заранее благодарен за ответ!
Jesus is Lord!
listview imagelist list<image>
Re: Картинки в ListView без ImageList
От: DENISIUS_R  
Дата: 05.10.08 15:44
Оценка:
Anybody is here?....
Jesus is Lord!
Re[2]: Картинки в ListView без ImageList
От: MxKazan Португалия  
Дата: 05.10.08 18:43
Оценка:
Здравствуйте, DENISIUS_R, Вы писали:

DEN>Anybody is here?....


А какая проблема в реализации события DrawItem для виртуального режима?
Re[3]: Картинки в ListView без ImageList
От: Аноним  
Дата: 06.10.08 11:21
Оценка:
Здравствуйте, MxKazan, Вы писали:

MK>Здравствуйте, DENISIUS_R, Вы писали:


DEN>>Anybody is here?....


MK>А какая проблема в реализации события DrawItem для виртуального режима?


Да уже так и сделал скорость с двадцати секунд на заполнение ImageList упала до 2-х секунд на загрузку картинок в List<Image>... Я вообще не понимаю почему такой тормознутый этот ImageList...
Re[4]: Картинки в ListView без ImageList
От: MxKazan Португалия  
Дата: 06.10.08 12:21
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, MxKazan, Вы писали:


MK>>Здравствуйте, DENISIUS_R, Вы писали:


DEN>>>Anybody is here?....


MK>>А какая проблема в реализации события DrawItem для виртуального режима?


А>Да уже так и сделал скорость с двадцати секунд на заполнение ImageList упала до 2-х секунд на загрузку картинок в List<Image>... Я вообще не понимаю почему такой тормознутый этот ImageList...


Для чего их все сразу грузить? Не проще ли по мере необходимости?
ImageList такой тормозной возможно потому, что ему приходится:
1) Разбивать один битмэп на несколько.
2) Заботится о прозрачности битмэпа.
3) Маршалить из managed в unmanaged (!).

Не исключено также, что если ImageList уже присвоен ListView, то при добавлении каждой картинки, он вызывает перерисовку ListView.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.