![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с ImageList
KisaNetik © (2004-02-29 16:52:00)Проблема состоит такая - нужно сохранить файл с картинками, как некую базу картинок с разрешением 32х32 и выводить их в ListView! Как мне это организовать? Пробовал по разному, но не получается...
с KOL познакомился недавно и ......
Помогите пожалуйста
KisaNetik (2004-02-29 19:14:00) [1]А так получится???
Надо с ImageList обратно в PBitMap...
function Img2ABitMap(im: TKOLImageList): ABitMap;
var
i:integer;
p:PBitMap;
c:HICON;
begin
if im.Count=0 then
begin
Result:=nil;
exit;
end;//im.Count=0
p:=NewBitMap(32,32);
for i:=0 to im.Count-1 do
begin
c:=im.ExtractIcon(i);
p.Handle:=c;
SetLength(Result,i+1);
Result[i]:=p;
end;//for i:=0 to im.Count-1
end;
KisaNetik (2004-02-29 18:15:00) [2]Вот - Разобрался, ловите, кому надо...
type ABitmap=array of PBitMap;
function TForm1.GetBitmap: ABitmap;
var
p:PBitMap;
f:File of PBitMap;
a:ABitMap;
i:integer;
begin
if not FileExists(GetStartDir+'BQ\bmp.dat') then
begin
MsgOK('Файла не существует! '+GetStartDir+'BQ\bmp.dat'+'!');
exit;
end;
try
AssignFile(f,GetStartDir+'BQ\bmp.dat');
i:=0;
Reset(f);
repeat
read(f,p);
SetLength(a,i+1);
a[i]:=p;
i:=i+1;
Until EOF(f);
CloseFile(f);
Except
MsgOK('Не могу прочитать картинки из файла! Взможно к файлу нет доступа!');
Result:=nil;
end;
end;
procedure TForm1.SetBitmap(a: ABitMap);
var
f:File of PBitMap;
i:integer;
begin
try
AssignFile(f,GetStartDir+'BQ\bmp.dat');
Rewrite(f);
for i:=0 to Length(a)-1 do write(f,a[i]);
CloseFile(f);
Except
MsgOK('Не могу записать картинки в файл! Возможно нет доступа к файлу...');
end;
end;
procedure ABitMap2Img(mas: ABitMap; im: TKOLImageList);
var
i:integer;
begin
for i:=0 to Length(mas)-1 do
begin
im.AddMasked(mas[i].Handle,clWhite);
end;
end;