Hola, para ver los directorios y archivos en un árbol, puede no ser muy recomendable hacerlo recursivamente. Toma en cuenta que si el directorio tiene muchas ramificaciones, el proceso puede ser muy lento y gastar muchos recursos.
Échale un ojo a
http://www.clubdelphi.com/foros/showthread.php?t=24567, en donde puse un ejemplo adjunto que usa un treeview para ver directorios y archivos. La diferencia es que sólo leo un nivel y el resto sólo conforme el usuario va expandiendo las ramas.
// Saludos