Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.11 c
1-1090223109
Vilux
2004-07-19 11:45
2004.08.01
Delphi+xls


14-1090048876
Style
2004-07-17 11:21
2004.08.01
На Рамблер подали в суд


9-1081817479
Voland2000
2004-04-13 04:51
2004.08.01
Phyz-forever


14-1089741499
Слабак
2004-07-13 21:58
2004.08.01
буфера


3-1089182014
Rusty
2004-07-07 10:33
2004.08.01
Как определить: существует ли таблица в базе Access?