Ver Mensaje Individual
  #4  
Antiguo 18-10-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.281
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por jymy788
...
Nodo"Abuelo", Nodo"padre", Nodo"buscado".

El árbol no está expandido, y yo quiero ahora que se expanda por el nodo "buscado". Cómo lo hago?
Entiendo que sólo puedes hacerlo reccorriendo los nodos del árbol hasta que encuentres el que buscas:

Código Delphi [-]
var
  i:Integer;
  n:TTreeNode;
begin
  // Recorrer los nodos del árbol
  for i:=0 to (TreeView1.Items.Count - 1) do begin
    // Lo ha encontrado?
    if (TreeView1.items[i].Text = 'NomdeDeMiNodo') then begin
      n := TreeView1.items[i];
      // Expandir
      n.Expand(True);
      // Seleccionar
      n.Selected := True;
      // Pasar el foco al tree
      TreeView1.RowSelect := True;
      TreeView1.SetFocus;
    end;
  end;
 
  // MEJORA: Cambia el FOR por un WHILE y utiliza un flag booleano para que deje de buscar cuando ya haya encontrado el nodo (aquí recorre siempre el árbol completo).

Con Selected := True puedes seleccionar el nodo (contesta eso a la otra pregunta que has hecho en éste foro, pero en otro hilo ).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita