Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.08;
Скачать: CL | DM;

Вниз

Забавная ситуация с 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 вся ветка

Текущий архив: 2006.01.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
2-1135094351
reva
2005-12-20 18:59
2006.01.08
Как программно убить пераметр и его значение в реестре?


9-1122297205
Warchief
2005-07-25 17:13
2006.01.08
Поиск пути для "многоклеточных объектов"


4-1130880834
Freeon
2005-11-02 00:33
2006.01.08
Помогите разобраться с прохожднием всех каталогов


6-1127529214
antoxa2005
2005-09-24 06:33
2006.01.08
Странно, почему мой сканер портов не видит мой порт?


9-1122796427
Зм1й
2005-07-31 11:53
2006.01.08
Почему может не работать CallList?