Форум: "KOL";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];
ВнизЗабавная ситуация с TKolImageList.Delete () Найти похожие ветки
← →
AK Delfin (2005-05-19 03:29) [0]Добрый день! Если загнать цикл
for d:=0 to MyImageList.Count-1 do
MyImageList.Delete(d);
и допустим в листе в данный момент находится 6 картинок, то последние три не удаляться. И вообще хотелось бы узнать как правильно очистить ImageList, чтобы потом заполнить его при помощи:
MyImageList.AddMasked(MPBitmap.Handle,MPbitmap.pixels[0,0]);
Windows XP->Delphi7->Kol&MCK 2.08
Заранее благодарен.
← →
Thaddy (2005-05-19 09:47) [1]var
SaveWidth:integer;
begin
Savewidth:=MyImagelist.imgwidth;
SaveHeight:=MyImagelist.ImgHeight;
Myimagelist.clear;
MyImagelist.imgwidth:=SaveWidth;
MyImagelist.imgHeight:=SaveHeight;
← →
Thaddy (2005-05-19 10:13) [2]var
SaveWidth:integer;
begin
Savewidth:=MyImagelist.imgwidth;
SaveHeight:=MyImagelist.ImgHeight;
Myimagelist.clear;
MyImagelist.imgwidth:=SaveWidth;
MyImagelist.imgHeight:=SaveHeight;
← →
Unknown Mystic © (2005-05-19 12:40) [3]>> AK Delfin (19.05.05 03:29)
А что ты хотел? При удалении картинки изменяются номера у всех последующих, т.е. если удаляеш 3-ю картинку, то 4-я становится 3-ей, 5 -> 4, ну и т.д.
После третьего прохода твоего цикла:
первые три картинки удалились, а оставшиеся переместились в начало, т.е.
0 - Картинка 2
1 - Картинка 4
2 - Картинка 6
соответственно когда d = 3 или больше ничего не удаляется.
Вот и осталось три картинки, только по идее это должны быть 2, 4 и 6-я, а не последние 3.
← →
GMax (2005-05-19 21:17) [4]надо всего лишь удалять с конца :)
for d:=MyImageList.Count-1 downto 0 do
MyImageList.Delete(d);
← →
AK Delfin (2005-05-19 23:16) [5]Большое спасибо!
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c