Tema: treeview
Ver Mensaje Individual
  #2  
Antiguo 21-11-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Se trataría, creo, de realizar una búsqueda en el "TreeView" por ver si se encuentra el "Nodo" que el usuario especifica en el "TEdit". O sea, el usuario escribe en el "TEdit" el "subtema" o "tema" a buscar, nosotros realizamos la búsqueda, y, si se encuentra el "Nodo" (cuyo texto es el nombre del tema o subtema) pues lo hacemos visible y lo seleccionamos.

El siguiente código lo escribió el compañero Román hace tiempo. Lo único que he hecho ha sido añadir la instrucción que da el foco al "TreeView", de manera que "se vea" seleccionado el "Nodo" buscado... y encontrado.

Código Delphi [-]
procedure TForm3.Button1Click(Sender: TObject);
var
  I: Integer;
  S: string;
  Nodo: TTreeNode;
begin
  // Texto del nodo a buscar
  S := Edit1.Text;
  // Recorremos todos los Nodos del TreeView
  for I := 0 to TreeView1.Items.Count - 1 do
  begin
    // Asignamos a Nodo el nodo actual
    Nodo := TreeView1.Items[i];

    // Si el texto del Nodo coincide con el que se busca
    if Nodo.Text = S then
    begin
      // Seleccionamos el Nodo
      Nodo.Selected := true;
      // Lo hacemos visible
      Nodo.MakeVisible;
      // Y enfocamos el TreeView
      TreeView1.SetFocus;
      // Una vez encontrado el texto no hay para qué seguir
      break;
    end;
  end;
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita