Вниз
Скачать: CL | DM;

Как лучше поступить с ListView? Удаление элементов.   Найти похожие ветки 

 
DVM ©   (2003-05-24 23:10) [0]

Возник у меня следующий вопрос. Не знаю как лучше сделать.
Имеется ListView с подключенным к нему ImageList. В ListView помещается достаточно большое число элементов, скажем 2000. В ImageList помещается соответствующее число иконок. Процесс этот не сказать, что очень быстрый, но не в скорости дело.
Далее, допустим мне надо удалить 1000 элементов. Из ListView я их удалю, а в ImageList они(иконки), как я понимаю, продолжают занимать память. Но они больше не нужны. Перезагрузка иконок в ImageList означает и полную перезагрузку элементов ListView, иначе номера иконок перестанут соответствовать элементам. А это не быстрый процесс. Как можно сделать так, чтобы при удалении элемента из ListView соответствующая иконка удалялась из ImageList и из памяти? Как это вообще правильно делается? И нельзя ли как вообще обойтись без ImageList. Например ставя элементу списка в соответсвие не номер иконки из ImageList, а ее HICON, полученный откуда-либо еще (напр, ExtractIcon...)?

Ну, например, окно эксплорера, при удалении одного файла явно не перегружается все целиком. Ненужные значки, я думаю, при этом тоже из памяти удаляются.

Надеюсь я понятно объяснил.


 
[NIKEL] ©   (2003-05-24 23:25) [1]

почитай про виритуальный режим ListView



 
DVM ©   (2003-05-24 23:36) [2]


> [NIKEL] ©

Про виртуальный режим я знаю, но тогда я потеряю возможность перетаскивать значки на плоскости ListView. А это необходимо.
ListView_SetItemPosition() не применимо в случае виртуального режима, насколько я понял. Или я не прав?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
3-13002
Lion
2003-05-18 23:35
2003.06.05
Select Into ?


1-13287
Aleksei85
2003-05-24 14:49
2003.06.05
Как можно поставить галочки у всех итемов в CheckListBox?


1-13301
Aleksei85
2003-05-24 22:45
2003.06.05
Почему картинки на кнопке в ToolBar не видно?


1-13231
кондратий
2003-05-26 18:35
2003.06.05
Enter > Tab


3-13018
rosl
2003-05-16 09:35
2003.06.05
сумма поля




   Наверх