Cualquier vista de árbol como el propósito del componente es mostrar una lista jerárquica de elementos. El más común que usa y ve todos los días es el que se usa en el Explorador de Windows, para mostrar carpetas (y más) en su sistema de archivos.
Delphi viene con el control TTreeView, ubicado en la sección "Win32" de la paleta de herramientas. Definido en la unidad ComCtrls, el TTreeView realiza una tarea decente al permitirle presentar cualquier relación padre-hijo de cualquier tipo de objetos.
Si bien es lo suficientemente potente para la mayoría de las tareas si su aplicación se basa en mostrar datos jerárquicos, como carpetas y archivos, estructura XML, cualquier cosa similar, pronto te darás cuenta de que necesitas más potencia de una vista de árbol como componente.
Con más de 13 años de experiencia en desarrollo, Virtual TreeView es uno de los componentes de código abierto más pulidos, flexibles y avanzados para el mercado de Delphi.
No importa la versión de Delphi que esté usando, desde Delphi 7 hasta la última versión (XE3 en este momento) que podría usar y aprovechar el poder del
TVirtualStringTree y TVirtualDrawTree (los nombres reales de los controles) en sus aplicaciones.Descargará un archivo ZIP que contiene el código fuente, paquetes para instalar el componente en Delphi, algunas demostraciones y algunas cosas más.
Descomprima el contenido del archivo en alguna carpeta donde tenga otros componentes de terceros. Estoy usando "C: \ Users \ Public \ Documents \ Delphi3rd \" y para mí la ubicación es "C: \ Users \ Public \ Documents \ Delphi3rd \ VirtualTreeviewV5.1.0"
Una vez instalado, encontrará tres componentes en la sección "Controles virtuales" de la Paleta de herramientas:
Una vez que el paquete Virtual TreeView está instalado en el IDE de Delphi / Rad Studio, ejecutemos el proyecto de muestra desde el paquete descargado para ver si todo funciona.
Vea qué tan rápido es agregar cientos (incluso miles) de nodos como nodos secundarios a uno seleccionado. Finalmente, aquí está el código fuente (implementación importante) para este ejemplo de "hola mundo":