hola, tengo un problema con un treeview, tengo varios nodos, y no se como hacer para que cuando yo pulse sobre uno de ellos, pues llamar a un formulario, Listview, Panel, etc... algo asi...como ago esto...
saludos...
Publicado:
Mar Sep 11, 2007 8:03 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Problema con treeView
Anuncios
mofongo escribió:
hola, tengo un problema con un treeview, tengo varios nodos, y no se como hacer para que cuando yo pulse sobre uno de ellos, pues llamar a un formulario, Listview, Panel, etc... algo asi...como ago esto...
saludos...
Una forma sencilla, si como discriminante vas a utilizar el texto que aparece en el nodo es, en el evento "OnClick" del TreeView, utilizar este código:
Código:
procedure TForm1.TreeView1Click(Sender: TObject);
begin
if (TreeView1.Selected.Text = 'Facturas') then
begin
application.createform(TFormFacturas, FormFacturas);
FormFacturas.showmodal;
end;
if (TreeView1.Selected.Text = 'Albaranes') then
begin
application.createform(TFormAlbaranes, FormAlbaranes);
FormAlbaranes.showmodal;
end;
end;
Publicado:
Mie Sep 12, 2007 2:13 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Propiedad AbsoluteIndex del TreeView
También puedes utilizar la propiedad "AbsoluteIndex" del TreeView que te devuelve un entero con un número único por cada nodo y cada subnodo, empieza por cero y va sumando desde el primer nodo (pasando por todos los subnodos).
Código:
procedure TForm1.TreeView1Click(Sender: TObject);
begin
case TreeView1.Selected.AbsoluteIndex of
0 :
begin
ShowMessage ('Seleccionado elmento 0');
end;
1 :
begin
ShowMessage ('Seleccionado elmento 1');
end;
2 :
begin
ShowMessage ('Seleccionado elmento 2');
end;
3 : begin
ShowMessage ('Seleccionado elmento 3');
end;
else
ShowMessage('Seleccionado elemento (no en case): ' +
IntToStr(TreeView1.Selected.AbsoluteIndex));
end;
Publicado:
Mie Sep 12, 2007 2:22 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Evento OnChange en vez de OnClick
Si utilizas el evento OnClick, ten en cuenta que sólo te servirá si el usuario hace clic con el ratón en un nodo, pero no te servirá si el usuario se mueve con las teclas de cursor (con el teclado). En este caso puedes utilizar el evento "OnChange", en vez del "OnClick".
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A