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

Проблема с ImageList   Найти похожие ветки 

← →
KisaNetik   (2004-02-29 16:52) [0]

Проблема состоит такая - нужно сохранить файл с картинками, как некую базу картинок с разрешением 32х32 и выводить их в ListView! Как мне это организовать? Пробовал по разному, но не получается...
с KOL познакомился недавно и ......
Помогите пожалуйста


← →
KisaNetik   (2004-02-29 18:15) [1]

Вот - Разобрался, ловите, кому надо...

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;


← →
KisaNetik   (2004-02-29 19:14) [2]

А так получится???
Надо с 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;



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

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



Память: 0.45 MB
Время: 0.023 c
11-1077998244
hermit
2004-02-28 22:57
2004.08.01
Вопрос по KOL Memo


14-1089669484
KilkennyCat
2004-07-13 01:58
2004.08.01
Notebook


14-1089953190
Dmitriy O.
2004-07-16 08:46
2004.08.01
Ваше отношение к инопланетянам ?


3-1089403726
genek84
2004-07-10 00:08
2004.08.01
Как узнать путь к открытой БД


9-1081017289
BAPBAP
2004-04-03 22:34
2004.08.01
Последняя версия GLScene?




   Наверх