Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как грузить картинки в TImageList в рантайме ? [D7]


Имэджн ©   (2005-07-24 01:30:00) 

Если нет стандартной функции, и надо тольео нарезать и перекладывать, то ведь там как то надо ещё учитывать прозрачность. А как непонятно.


Defunct   (2005-07-25 03:44:00) [1]

Имэджн   (25.07.05 01:15) [6]
> раз не знаешь ответа на вопрос.

Меня раздражают такие изречения вопрошающих, и вероятно не только меня. Будете такими фразами разбрасываться не получите ответа никогда, т.к. те кто мог бы вам помочь просто не захотят этого делать.

по ходу, добавлять картинки:

ImageList.AddMasked( bmp, <прозрачный цвет> );

если не надо прозрачности тогда (-1) на месте прозрачного цвета.


Имэджн   (2005-07-25 01:15:00) [2]


> Leonid Troyanovsky ©   (24.07.05 07:49) [5]
> Дай ему возможность делать ImageList.Add, Delete, ..


А ты пойди лучше пива попей, раз не знаешь ответа на вопрос.


Leonid Troyanovsky   (2005-07-24 07:49:00) [3]


> Имэджн   (24.07.05 07:41) [4]
> > Только сохранить их в него надо, предварительно ;)
>
>
> Так юзеру и скажу. Поставь себе Дельфи, сохрани предварительно,
> а потому иж используй.


А зачем юзеру Дельфи?
Дай ему возможность делать ImageList.Add, Delete, ..
А сохранить (загрузить) накопленное можно и в файл.

--
Regards, LVT.


Имэджн   (2005-07-24 07:41:00) [4]


> Leonid Troyanovsky ©   (24.07.05 07:19) [3]
> Только сохранить их в него надо, предварительно ;)


Так юзеру и скажу. Поставь себе Дельфи, сохрани предварительно, а потому иж используй.


Leonid Troyanovsky   (2005-07-24 07:19:00) [5]


> Имэджн   (24.07.05 07:05) [2]


> Этж компонент.

Где компонент?

> А как картинки то грузить ?

procedure ImageList_LoadFromFile, IMHO.

Только сохранить их в него надо, предварительно ;)

--
Regards, LVT.


Имэджн   (2005-07-24 07:05:00) [6]

Этж компонент.
А как картинки то грузить ?


Leonid Troyanovsky   (2005-07-24 06:03:00) [7]


> Имэджн   (24.07.05 01:30)  
> Если нет стандартной функции, и надо тольео нарезать и перекладывать,
> то ведь там как то надо ещё учитывать прозрачность. А как
> непонятно.


Если одним махом, то, by Vladimir Titov:


uses
 commctrl;

procedure ImageList_WriteData(ImageList: TImageList; Stream: TStream);
var
 SA: TStreamAdapter;
begin
 SA := TStreamAdapter.Create(Stream);
 try
   if not ImageList_Write(ImageList.Handle, SA) then
     raise EWriteError.Create('Failed to write ImageList data to stream');
 finally
   SA.Free;
 end;
end;

procedure ImageList_ReadData(ImageList: TImageList; Stream: TStream);
var
 SA: TStreamAdapter;
begin
 SA := TStreamAdapter.Create(Stream);
 try
   ImageList.Handle := ImageList_Read(SA);
   if ImageList.Handle = 0 then
     raise EReadError.Create('Failed to read ImageList data from stream');
 finally
   SA.Free;
 end;
end;

procedure ImageList_SaveToFile(ImageList: TImageList; const FileName: string);
var
 FileStream: TFileStream;
begin
 FileStream := TFileStream.Create(FileName, fmCreate);
 try
   ImageList_WriteData(ImageList, FileStream);
 finally
   FileStream.Free;
 end;
end;

procedure ImageList_LoadFromFile(ImageList: TImageList; const FileName:
string);
var
 FileStream: TFileStream;
begin
 FileStream := TFileStream.Create(FileName, fmShareDenyNone);
 try
   ImageList_ReadData(ImageList, FileStream);
 finally
   FileStream.Free;
 end;
end;


--
Regards, LVT.


Наверх

Титульная страница Поиск, карта сайта Написать письмо