[Lazarus-es] Consulta sobre TTreeView
Giuseppe Luigi Punzi Ruiz
glpunzi en lordzealon.com
Dom Jul 5 03:05:23 CEST 2009
La verdad, ni idea,
Sólo se me ocurre que preguntes en la lista/foro en inglés a ver que
te comentan. Lo mismo ya hay alguien trabajando en ello.
Un saludo.
El 04/07/2009, a las 15:16, ELMO CALATAYUD escribió:
> Buen Dia Amigos.
>
> Gracias por mantener esta lista que dia a dia nos entretien con
> casos y conocimiento directamente en nuestro coreo electrónico. Debo
> comentar que tengo un tiempo programando con Lazarus y me ha ido
> bién. Sin embargo, siempre hay complicaciones que se van corrigiendo
> poco a poco. Uno de estos casos es el componente TTreeView.
>
> Tal como esta definido en los fuentes de lazarus, el componente
> TTreeView permite mostrar el Arbol de TreeNodes pero estos TreeNodes
> permiten mostrar solo una columna de datos. algo asi como
>
> >-- Raiz Arbol |
> |-- Nodo 1
> |-- Nodo 2
> |-- Nodo 3
> |-- Nodo 4 --|
> |-- Sub Nodo 4-1
> |-- Sub Nodo 4-2
> |-- Sub Nodo 4-3
>
>
> En mi caso necesito portar un codigo de Kylix donde los TreeNode
> pueden tener columnas adicionales que denomina subItems. la figura
> es algo parecida a esto
>
> >-- Raiz Arbol |
> |-- Nodo 1 | Dato 1
> |-- Nodo 2 | Dato 2
> |-- Nodo 3 | Dato 3
> |-- Nodo 4 --| Dato 4
> |-- Sub Nodo 4-1 | Dato 4-1
> |-- Sub Nodo 4-2 | Dato 4-2
> |-- Sub Nodo 4-3 | Dato 4-3
>
> Como ven hay una segunda columna de Datos aparte del Texto de Nodo,
> esto da la facilidad de poder presentar datos adicionales respecto
> del texto principal del Nodo y los alinea convenientemente, lo que
> le da una forma elegante en presetación. Claro esta, podria
> reemplazar el TTreeView por un TLIstView pero este componente no se
> aprecia tam bien con el impacto que da el TTreeView y si concateno
> ambos datos en una sola cadena para mostrarlo en la unica columna de
> dato que permite el TTreeView, entonces los datos no quedan
> alineados como deben, perdiendo estetica en la presentación.
>
> He pensado en utilizar el componente VirtuelTreeView que parece
> ideal para esto, pero aún no es del todo estable sobre Linux.
> Disculpen me olvidaba mencionar que estoy trabajando en
> Multiplataforma y el Sistema Operativo principal de desarrollo es
> Linux Debian.
>
> El codigo Kylix es el siguiente:
>
> // Para la Raiz
> TreeNode1:=Tree1.Items.add(nil, dbBusca.Fields[0].AsString+'
> '+dbBusca.Fields[1].AsString);
> // Dato Adicional de la Raiz
> Tree1.Items[Conta].SubItems.add(FormatFloat('0.00',Saldo));
>
> // Para los Nodos
> Tree1.Items.AddChild(TreeNode1,dbBusca.Fields[0].AsString+'
> '+dbBusca.Fields[1].AsString );
> // Dato Adicional del Nodo
> Tree1.Items[Conta].SubItems.add(FormatFloat('0.00',Saldo));
>
> Mi Solución con Lazarus, hasta ahora va por:
> // Primero Junto todos los datos en una sola cadena y lo asigno a la
> variable SaldoStr
> SaldoStr := dbBusca.Fields[0].AsString+'
> '+PadRight(dbBusca.Fields[1].AsString),120) + ' ' +
> PadLeft(FormatFloat('#,##0.00;(#,##0.00)',Saldo), 14);
>
> // Para la Raiz
> TreeNode1:=Tree1.Items.add(nil, SaldoStr);
>
> // Para los Nodos
> Tree1.Items.AddChild(TreeNode1, SaldoStr);
>
> Esta Solucion no me es satisfactoria del todo ya que me desalinea
> mucho los datos, aun usando caracteres monoespace.
>
> ¿Sabe alguien de alguna variante del componente TTreeView o de alga
> funcionalidad escondida que permita mostrar dos Columnas de Datos en
> los String de los TreeNodes?.
>
> O de Plano, sera necesario derivar el compoente para agregarle la
> funcionalidad deseada, si tienen ejemplos de esto ultimo tambien les
> agradezco me comenten.
>
> Disculpen la molestia, sus sugerencias son bienvenidas.
>
> Saludos
>
>
> Invite your mail contacts to join your friends list with Windows
> Live Spaces. It's easy! Try it!
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Giuseppe Luigi Punzi Ruiz
Blog: http://www.lordzealon.com
Twitter & Skype & GoogleTalk accounts: glpunzi
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20090705/57f7f9eb/attachment-0002.html>
More information about the Lazarus-es
mailing list