Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Acción al hacer clic un determinado item de un TTreeview (https://www.clubdelphi.com/foros/showthread.php?t=69613)

namtaxonlabs 28-08-2010 20:26:36

Acción al hacer clic un determinado item de un TTreeview
 
Necesito ayuda, en mi evento OnClick de TTreeView necesito como ejecutar una acción determinada en un item (O nodo) de Treeview especifico sin importar el nodo padre que este ya que no puedo hacerlo he hecho con varios metodos pero nada me sale bien (Access Violation, Out of Index)!.

Lord Delfos 28-08-2010 22:22:18

Hola, namtaxonlabs.

Para saber en qué nodo se hizo click, podés usar la propiedad selected, que te da el nodo actualmente seleccionado.

Código Delphi [-]
procedure TForm1.tv1Click(Sender: TObject);
begin
  ShowMessage(tv1.Selected.Text);
end;

Es importante notar que el evento Click se dispara incluso cuando uno hace click en las flechitas para colapsar o expandir. Así que si querés evitar hacer dos veces lo mismo con el mismo nodo seleccionado, podrías guardar un valor que te diga cuál fue el útlimo y compararlo con el Selected antes de hacer lo que vayas a hacer.

Espero te sirva.

Saludongos.

ecfisa 28-08-2010 22:22:36

Hola.

¿ Podrías poner el código que asignaste al evento OnClick y te genera el error ?

Nos orientaría mucho más, gracias. :)


Saludos.

namtaxonlabs 29-08-2010 01:18:17

Espera. no deseo ejecutar el evento OnClick de TTreeView ya que deseo el valor Integer (index o algo así) del nodo usando case of seleccionado por ejemplo

Código Delphi [-]
case {treeview selected index} of
 0: LlamarFuncion0;
 1: LlamarFuncion1;
 2: LlamarFuncion2;
end;

ecfisa 29-08-2010 02:04:03

Hola nam..

Si no querés usar OnClick usa OnChange.

Código Delphi [-]
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
  case TreeView1.Selected.index of
    0: LlamarFuncion0;
    1: LlamarFuncion1;
    2: LlamarFuncion2;
  end;
end;

Si no, disculpáme pero no entiendo lo que buscas.

Saludos.

namtaxonlabs 29-08-2010 02:18:55

Eso es lo que necesitaba, gracias me ahorraste varias horas de experimentación de prueba y error!. es que yo estoy haciendo un instalador con una interfaz InstallShield y hacía un clon de Installation Designer más sencillo de usar. asi por ejemplo:

flexerasoftware.com/webdocuments/installscript_improv.jpg

ps: añadir http y :// porque no me dejan añadir imagenes ni enlaces

ecfisa 29-08-2010 10:31:54

De nada, me alegro que lo hayas solucionado :)

Saludos.


La franja horaria es GMT +2. Ahora son las 04:29:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi