http://weblogs.foxite.com/bernardbout/2007/07/14/embed-ii-the-smart-vfp-treeview-class/
Autor: Bernard Bout
Traducido por: Ana María Bisbé York
En el artículo anterior, Embed Your Images describí como se pueden incrustar imágenes en una clase. (Nota de la traductora: Este artículo ha sido publicado bajo el título "Incrustar Imágenes (Bernard Bout) Traducción")
En este escrito, voy a mostrarles la mejor forma de incrustar esas imágenes así como un archivo de configuración dentro de una clase. La clase en cuestión es una clase Treeview mostrada antes en este escrito: VFP is very very cool (Nota de la traductora: Este artículo ha sido publicado bajo el título "Visual FoxPro es muy muy bueno")
El ejemplo de la clase y formularios se pueden descargar desde:
http://weblogs.foxite.com/bernardbout/attachment/4366.ashx
Todo lo que necesita utilizar esta clase es ejecutar el formulario xmldashbuilder.scx y configurar cómo será la apariencia del Treeview. Puede añadir elementos, enlazar imágenes, configurar comandos y se ejecutará cuando se seleccione un nodo del Treeview.
Figura 1 - El generador
Figura 2 - El generador con ayuda
Luego, es simplemente cuestión de arrastrar la clase al formulario, redimensionarla, y ya está.
Una vez que tiene el código fuente, puede abrir fácilmente la clase y ver cómo lo he hecho.
Básicamente, el Treeview está manejado por una tabla que admite tres niveles para cada nodo. Esto suele ser suficiente. Las imágenes se enlazan con cada nodo y son incrustadas a lo largo con la tabla dentro de la propia clase, por lo que no se necesitan más archivos externos, solamente la clase. El generador no es necesario una vez que la clase se haya configurado. Si se necesita una configuración posterior, el generador debe estar en el mismo directorio que la clase.
Puede colocar cualquier comando que sea ejecutado, como se hace en un menú de VFP. Vea, por favor, los comandos de ejemplo que se incluyen en la clase para ejecutar el formulario del generador.
Si necesita hacer cambios en la configuración, llame al generador, hágalos y guárdelos. Estos cambios aparecerán en su formulario la próxima vez que lo ejecute.
Debido a un requerimiento del ActiveX ImageList, las imágenes deben encontrarse externamente, por lo que la clase lo extrae automáticamente a un directorio temporal según sea necesario, en tiempo de ejecución. La clase no va a eliminar los archivos, por lo que serán reutilizados si se utiliza la clase nuevamente. Si es necesario, puede fácilmente agregar esta eliminación de imágenes en el evento Destroy de la clase.
Figura 3. La clase en el formulario
Actualización: 12 de febrero 2009Adjunto: xmltreedash0209.zip
He quitado las entradas MemberData de la clase y el formulario. Esta clase trabajará tanto en VFP8 y VFP9. Descargar el archivo adjunto a continuación.