PDA

Ver la Versión Completa : Obtener index actual en un TTreeView


alessita
12-01-2007, 19:17:13
Hola a todos, estoy aprendiendo a programar y necesito usar un TtreeView para listar nombres de maquinas en el nivel 0 y sus partes y subpartes en los siguientes niveles. Bueno lo que deseo hacer es mover el foco o selección desde el nodo Actual a los nodos Anterior o Siguiente en el treeView con Buttons, y hacer operaciones con la info del nuevo nodo así seleccionado (en realidad con los datos relacionados a este en una Tabla de Base de Datos), por ejemplo con FRMpartes.TV1.Items.Item[2].Text; obtengo el texto del nodo con index=2 ¿Cómo obtengo el valor del index o posición de un nodo cualquiera que yo haya clickeado (actual) con el mouse?:( Intenté con getprev, getnext, pero no estiendo bien como funacionan. O ¿habra otra forma de hacerlo?
Bueno By. Se los agradezco mucho.

delphi.com.ar
12-01-2007, 19:45:37
No se para que necesitas el índice, pero tienes que tener en cuenta que cada nodo, puede contener una lista de nodos "hijos" y esta lista tiene su propio juego de índices. Para obtener el nodo seleccionado, puedes utilizar la propiedad Selected que es del tipo TTreeNode y ahí puedes obtener el índice de ese nodo:

procedure TForm1.TreeView1Click(Sender: TObject);
begin
Caption := IntToStr(TreeView1.Selected.Index);
end;

Saludos!

alessita
28-01-2007, 09:12:38
Gracias, si funcionó, no usé el index, pero si el selected para cuando hago click sobre el treeview mostrar informacion relacionada al nombre del nodo, extraida de una tabla y controlar botones segun el nivel del nodo, antes me confundí parecía que selected era de tipo boolean y servia solo para verificar si un nodo estaba seleccionado. Gracias de nuevo:)