PDA

Ver la Versión Completa : Accion por cada nodo-TreeView


vtdeleon
24-05-2005, 17:12:16
Saludos

tengo un treeView con varios nodos, supongamos que tengo 3 nodos.


Listas

Modulos

Grupos


En cada uno de estos, quiero llamar un formulario diferente. He buscado en el foro y aun no entiendo como puedo hacer que el Nodo Lista llame un formulario x, o que el nodo Modulos llame a otro formulario.
Lei un hilo en el cual dice que debo utilizar el evento OnChange del TreeView, pero como puedo referirme a un nodo espeficico.

Grax y Hasta luego.

roman
24-05-2005, 17:18:20
¿Te has fijado en los parámetros del evento OnChange? ¿Has leído la ayuda acerca de este evento?

// Saludos

jachguate
24-05-2005, 17:21:21
Esto te dará una idea:


Begin
if TreeView1.Selected.Text = 'Listas' Then
frmListas.ShowModal
else if TreeView1.Selected.Text = 'Modulos' Then
frmModulos.ShowModal
else
frmGrupos.ShowModal;
end;


Hasta luego.

;)

Pascual Montes
24-05-2005, 17:32:27
para utilizar el treeview necesitas validar en el evento onDblClick
al parecido a esto:

if Treeview1.Selected.text = ' Reportes' then fReportes.showmodal;
if Treeview1.Selected.text = ' Calculos' then fCalculos.showmodal;
if Treeview1.Selected.text = ' Capturar' then fCapturar.showmodal;

NOTESE QUE : treeview1.selected.text contiene el valor de donde diste
enter al navegar en el componente treeview.
es decir que cuando tu das enter en el componente treeview se le asigna
el valor que contenga esa linea a treeview1.selected.text en forma de cadena.

saludos y espero resolver tu duda colega
cualquier cosa estoy en msn. mtpedro@hotmail.com (mtpedro@hotmail.com)

vtdeleon
24-05-2005, 17:41:10
Saludos
¿Te has fijado en los parámetros del evento OnChange? Si, me he fijado, Node: TTreeNode ¿Has leído la ayuda acerca de este evento?Si, tambien lo he leido. Aunque no dice nada con respecto a lo que pregunto...:p (Si te refieres a la Ayuda de Delphi-Delphi Help)

Pregunte para ver la manera en como ustedes lo hacen, y lo hago de la misma forma que jachguate .

De todas formas, Gracias

roman
24-05-2005, 17:44:57
Aunque no dice nada con respecto a lo que pregunto


¿Cómo de que no? Tú mencionaste el evento OnChange, no fui yo :p

Todo depende de cómo estés estructurando tu aplicación. Si, como bien puede ser, usas el TreeView como menú de formularios, entonces el evento OnChange puede ser muy adecuado y el parámetro Node te indica cual es el nodo seleccionado.

// Saludos

roman
24-05-2005, 17:49:05
Otra cosa:

Para no basarte en el texto del nodo, que como bien dices, puede cambiar, algo que podrías hacer es usar la propiedad Data del nodo para guardar la clase de formulario relacionada al nodo:


Node.Data := Pointer(TfrmLista);


Al momento que necesites crear el formulario, sea en el evento OnChange u OnDblClick o en cualquier otro momento, usarías algo como:


with TFormClass(Node.Data).Create(Self) do
Show;


EDITO:

Esto


Para no basarte en el texto del nodo, que como bien dices, puede cambiar,


no parece tener mucho sentido, pero en el correo que recibí sí lo decía :confused:

// Saludos

vtdeleon
24-05-2005, 19:01:58
Saludos.

Gracias por su atencion y respuestas.

La ultima idea de roman me parece adecuada, Gracias