Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   resaltar nodo seleccionado de treeview (https://www.clubdelphi.com/foros/showthread.php?t=47700)

manolop 05-09-2007 12:51:42

resaltar nodo seleccionado de treeview
 
Hola a todos, tengo un treeview donde tengo una estructura similar a la siguiente:

| -nodo1
| |
| ---subnodo1
| |
| ---subnodo2
|
+nodo2

El tema es que si pincho en subnodo2 no tengo problema y el nodo se queda seleccionado, del mismo modo q si pincho en nodo1, pero mi problema es que si pincho en subnodo1 se selecciona nodo1. Como podria indicar que pinche nodo1 o subnodo1 que siempre se quede seleccionado subnodo1?

En Arbol.Selected.AbsoluteIndex tengo el valor del nodo selecionado y en arbol.Selected.StateIndex intento indicarle cual sera el nodo que quiero q se seleccione pero no hace caso.

Uso Delphi 2006, si alguien me puede echar una manol se lo agradeceria mucho. Gracias de antemano.

paldave 05-09-2007 14:13:02

No entendí mucho si tu problema es al pinchar sobre el nodo o al intentar seleccionar un nodo desde código.
Si es al pinchar sobre el nodo no tengo idea cual es tu problema, yo creé un TTreeView con la estructura que describes y funciona perfectamente.
Si tu problema es al seleccionar un nodo desde código creo que deberías utilizar la propiedad Selected del TreeView (si lo usas con MultiSelect=False) o Selections (si lo usas con MultiSelect=True). Ejemplos:
Si MultiSelect=False:
Código Delphi [-]
TreeView1.Selected := TreeView1.Items[1];
y si MultiSelect=True:
Código Delphi [-]
TreeView1.Select(TreeView1.Items[1]);
o si quieres seleccionar varios nodos:
Código Delphi [-]
TreeView1.Select([TreeView1.Items[1],TreeView1.Items[3]]);
y para borrar todas las selecciones:
Código Delphi [-]
TreeView1.ClearSelection;
Espero haya sido esta tu duda y que haya quedado contestada.

manolop 05-09-2007 14:46:29

Muchisimas gracias, con el primer ejemplo lo he solucionado perfectamente. recibe un gran saludo :)


La franja horaria es GMT +2. Ahora son las 02:07:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi