[Lazarus-es] Consulta sobre TTreeView

Jose Antonio Cuello josea en artextrading.com
Mie Jul 8 12:37:50 CEST 2009


La solución es mediante la property Data que tienen todos los 
TTreeViewNode. No tienes que derivar del TTreeView sinó crearte una 
estructura de objetos, es decir un TObject por cada nodo que incluyas en 
el TTreeview y en lazar ese objeto al nodo ya sea cuando creas el nodo 
mediante .add o mediante el método .addChildObject del TTreView.Items

Normalmente para este tipo de trabajos me creo una estructura de objetos 
basándome en un TListObject paralelo al TTreview así es más fácil crear, 
gestionar y eliminar todos los objetos que enlazas con los nodos.

Otro tema es el de pintado de las columnas, que tendras que hacer 
manualmente puesto que el evento de pintado del TTreeview sólo te 
pintará el caption. Creo recordar que era uno de los eventos OnDraw del 
TTreeView pero ahora no tengo ningún ejemplo disponible para confirmártelo.

> Message: 1
> Date: Tue, 7 Jul 2009 07:02:42 -0500
> From: ELMO CALATAYUD <e_calatayud en hotmail.com>
> Subject: Re: [Lazarus-es] Consulta sobre TTreeView
> To: Lista Lazarus <lazarus-es en lists.lazarus.freepascal.org>
> Message-ID: <COL104-W495498A5ED638A525ED24287280 en phx.gbl>
> Content-Type: text/plain; charset="iso-8859-1"
>
>
> Hola Jose
>  
> Muchas gracias por contestar, me confirmas que la solución seria por la via del objeto Data que es un puntero que permiten los TTreeNodes, para implementar su visualizacion ¿será necesario crear un componente derivado de TTreeView?, es decir cambiar el metodo que muestra la vista TTreeView, para que muestre ademas del String, el dato que esta guardado en el puntero a Objeto, esta ultima parte se me complica hacerlo, por ello te pido por favor, me envies una unidad con implementación similar, que sirva como ejemplo, para tomar la posta. Si gustas publicarlo en algun foro donde todos los usuarios puedan apovecharlo creo que seria ideal en hispalazarus, he puesto un Post, donde puede darse mas detalle sobre el  tema.
>  
>
> http://hispalazarus.mi-web.es/foro/viewtopic.php?p=804#804
>
>
> Gracias nuevamente.
>  
> Elmo




More information about the Lazarus-es mailing list