Buenas tardes, tengo un listview en el que cargo las imágenes de la carpeta Pictures. El codigo es
Código Delphi
[-]procedure TF_EliminarFotos.FormShow(Sender: TObject);
var
FileList: TStringDynArray;
FileName, FolderPath, cad: string;
Item: TListViewItem;
begin
ListFotos.AllowSelection := True;
ListFotos.Items.Clear;
FolderPath := TPath.Combine(TPath.GetSharedPicturesPath, '');
FileList := TDirectory.GetFiles(FolderPath, 'foto_tomada_*.jpg', TSearchOption.soTopDirectoryOnly);
for FileName in FileList do
begin
try
cad := FileName;
cad := copy(cad,length('/storage/emulated/0/Pictures/') + 1,length(cad) - length('/storage/emulated/0/Pictures/'));
Item := ListFotos.Items.Add;
Item.Text := cad;
except
on e:exception do
showmessage(e.message);
end;
end;
end;
Ahora lo que querría es cargar la imagen correspondiente en el Listview a través de un ImageList.
He visto el código para el componente VCL y lo he intentado adaptar, pero no soy capaz por más que busco
Código Delphi
[-]procedure TForm1.LoadPicturesToListView;
var
PicturesPath: string;
Files: TArray<string>;
FileName: string;
Bitmap: TBitmap;
Item: TListViewItem;
ImageIndex: Integer;
begin
PicturesPath := TPath.Combine(TPath.GetSharedDocumentsPath, 'Pictures');
Files := TDirectory.GetFiles(PicturesPath, '*.*', TSearchOption.soTopDirectoryOnly);
ImageList1.Clear;
ListView1.Items.Clear;
for FileName in Files do
begin
if TPath.GetExtension(FileName).ToLower.Equals('.jpg') or
TPath.GetExtension(FileName).ToLower.Equals('.png') then
begin
Bitmap := TBitmap.Create;
try
Bitmap.LoadFromFile(FileName);
ImageIndex := ImageList1.Add(Bitmap);
Item := ListView1.Items.Add;
Item.Text := TPath.GetFileName(FileName);
Item.Bitmap := Bitmap; Item.ImageIndex := ImageIndex;
finally
Bitmap.Free;
end;
end;
end;
end;
Código Delphi
[-]ImageIndex := ImageList1.Add(Bitmap);
esto no compila.
Un saludo, y muchas gracias por vuestra ayuda.