Creo que para ese propósito iría mejor un TfileListBox.
Yo lo uso así:
Código Delphi
[-]Procedure Haz_Copia(cPuesto:String;cDestino:String);
var
n:Integer;
cFichero:String;
pOrigen,pDestino:Pchar;
begin
Pon_Rayas();
For n:=0 to frCopiaSeg.flbficheros.Items.count - 1 do
begin
cFichero:=PChar(frCopiaSeg.flbFicheros.Items[n]);
pOrigen:=PChar(cOrigen+cFichero);
pDestino:=Pchar(cDestino+cFichero);
frCopiaSeg.mVisor.Lines.Add('Añadiendo '+pDestino);
Application.ProcessMessages;
try
nFicheros:=nFicheros + 1;
nFichero:=nFichero + 1;
CopyFile(pOrigen,pDestino,False);
Except
frCopiaSeg.mVisor.Lines.Add('NO SE PUDO REALIZAR LA COPIA EN:'+cPuesto);
end;
frCopiaSeg.pnMsge.Caption:='Copiando fichero Núm. '+FormatFloat(',0',nFicheros)+' :'+cFichero+' a '+cDestino;
end;
Pon_Rayas();
frCopiaSeg.mVisor.Lines.Add('Se copiaron '+FormatFloat(',0',nFichero)+' Ficheros .');
Pon_Rayas();
end;
Un Saludo.