Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Accion por cada nodo-TreeView (https://www.clubdelphi.com/foros/showthread.php?t=21658)

vtdeleon 24-05-2005 17:12:16

Accion por cada nodo-TreeView
 
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:

Código Delphi [-]
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

espero te sirva esto colega !!!
 
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

vtdeleon 24-05-2005 17:41:10

Saludos
Cita:

Empezado por roman
¿Te has fijado en los parámetros del evento OnChange?

Si, me he fijado, Node: TTreeNode
Cita:

Empezado por roman
¿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

Cita:

Empezado por vtdeleon
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:

Código Delphi [-]
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:

Código Delphi [-]
with TFormClass(Node.Data).Create(Self) do
  Show;

EDITO:

Esto

Cita:

Empezado por roman
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


La franja horaria es GMT +2. Ahora son las 05:04:47.

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