Te mando
dos ejemplos de aplicaciones que usan un ListView para presentar los archivos de una carpeta.
Ambas son iguales excepto porque la segunda (VirtualSysIcons) usa el ListView en modo virtual.
Compara los dos ejemplos contra un directorio con muchos archivos, por ejemplo, C:\Windows\System32, para que veas el porqué de usar el modo virtual.
Los ejemplos ya están compilados para que veas rápidamente la diferencia. Pero también te mando los
códigos fuente.
La diferencia entre SysIcons y VirtualSysIcons básicamente está en el método ReadFiles.
En SysIcons, ReadFiles agrega directamente los archivos de una carpeta al Listiew.
En VirtualSysIcons, ReadFiles agrega sólo los nombres de los archivos en un TStringList auxiliar. Entonces usa el evento OnData del Listiew para llenar los datos del item que se llena a partir de lo guardado en el StringList.
El modo virtual se establece poniendo la propiedad OwnerData del ListView en
true.
// Saludos