Cargar un control TreeView
Autor Luis Serrano Rodriguez Webmaster de Netyweb
 

Para trabajar con este control, primero es necesario añadir el componente en la barra de herramientas. Para ello vamos al cuadro de dialogo Componentes y marcamos el control Microsoft Windows Common Controls 6.0 Apareceran varios controles y entre ellos el que nos interesa: TreeView.

Lo que se va a hacer en este ejemplo va a ser cargar el control de forma manual sin utilizar ningun origen de datos. El resultado final será como el de la imagen...

Este es el codigo para empezar a cargar de forma manual cada nodo del arbol y sus ramas. Al objeto TreeView le hemos llamada arbol. Despues, debe crearse una variable de tipo Node a la que se va a añadir con el metodo Add cada nodo. La sintaxis de este metodo es:

objeto.Add(NodoReferencia, PosRelativa, clave, texto, imagen, imgSeleccion)

El primer nodo padre sera CLIENTES, y sus sucesivos hijos desde Amigos1 hasta Amigos8. Una vez cargado el nodo padre pasamos a cargar los nodos hijos. El esquema a seguir es el siguiente: para hacer referencia al nodo padre utilizamos como nodo-referencia el nombre "Raiz". Despues indicamos como parametro a PosRelativa con el valor tvwChild. Para el parametro clave hemos utilizado en este caso "clave1" hasta "clave8". Para el texto, como ultimo parametro cualquier nombre.

Para el resto de nodos padres e hijos se actua de la misma forma.

Private Sub Command1_Click()

Dim nodo As Node 'variable nodo de tipo Node

Set nodo = arbol1.Nodes.Add(, , "Raiz", "CLIENTES")
Set nodo = arbol1.Nodes.Add("Raiz", tvwChild, "clave1", "Amigos1")
Set nodo = arbol1.Nodes.Add("Raiz", tvwChild, "clave2", "Amigos2")
Set nodo = arbol1.Nodes.Add("Raiz", tvwChild, "clave3", "Amigos3")
Set nodo = arbol1.Nodes.Add("Raiz", tvwChild, "clave4", "Amigos4")
Set nodo = arbol1.Nodes.Add("Raiz", tvwChild, "clave5", "Amigos5")
Set nodo = arbol1.Nodes.Add("Raiz", tvwChild, "clave6", "Amigos6")
Set nodo = arbol1.Nodes.Add("Raiz", tvwChild, "clave7", "Amigos7")
Set nodo = arbol1.Nodes.Add("Raiz", tvwChild, "clave8", "Amigos8")

Set nodo = arbol1.Nodes.Add(, , "Raiz2", "FACTURAS")

Set nodo = arbol1.Nodes.Add("Raiz2", tvwChild, "clave9", "Amigos9")
Set nodo = arbol1.Nodes.Add("Raiz2", tvwChild, "clave10", "Amigos10")

Set nodo = arbol1.Nodes.Add(, , "Raiz3", "PEDIDOS")

Set nodo = arbol1.Nodes.Add("Raiz3", tvwChild, "clave11", "Amigos11")

End Sub


Para hacer referencia a cada nodo cuando se haga click sobre uno de ellos, se utiliza el evento objeto_NodeClick(ByVal Node As MSComctlLib.Node)

Private Sub arbol1_NodeClick(ByVal Node As MSComctlLib.Node)

Label1.Caption = Node.Parent + " " + Node.Key + " " + Node.Text

End Sub

Utilizamos tres propiedades: Parent, Key y Text. Parent se refiere al nodo padre, Key al parametro clave y la propiedad Text visualiza el texto del nodo. Al hacer click sobre un nodo obtendremos sobre un control etiqueta, Label1.Caption, la informacion referenciada. Si hacemos click sobre el nodo hijo Amigos3 se verá como resultado...

CLIENTES, clave3, Amigos3

Saludos.

 
WWW.ELGURUPROGRAMADOR.COM.AR