Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Como Acceder a un Objeto de un TreeView!! (https://www.clubdelphi.com/foros/showthread.php?t=46565)

Velia 03-08-2007 16:53:51

Como Acceder a un Objeto de un TreeView!!
 
Hola
Estoy ingresando los nombres y los objetos de un MainMenu a un TreeView y por cada nodo que ingreso al treeView pongo esto

Código Delphi [-]
 for k:=0 to MenuPrincipal.Items.Count -1 do
  Begin

    Padre := TreeView1.Items.AddObject(nil, MenuPrincipal.Items[k].Caption, MenuPrincipal.Items[k]);
    Padre.StateIndex:= 1; //Muestra Chekbox bacio (Descactivado)

   //El que sigue es un procedimiento q me sigue cargando los hijos del nodo para que se complete el arbol correspondiente al MenuPrincipal
    CargarItemsTreeView(MenuPrincipal.Items[k], Padre);
  End;
  TreeView1.FullExpand;


Ahora mi problema es que luego necesito acceder al objeto que guarde en cada nodo para obtener el nombre del Item del MenuPrincipal. Intente castearlo de esta forma pero no resulta me devuelve ell titulo del Nodo.Se que con un ComboBox se puede asi
Código Delphi [-]

TMainMenu(combobox.Items.Objects[(combobox.ItemIndex)]);

pero en el TreeView no sé

Código Delphi [-]

  for k:=0 to TreeView1.Items.Count -1 do
  Begin
    TMainMenu(TreeView1.Items[k]).Name;
  End;

Por favor si alguien podria ayudarme les agradezco estoy trabajando contra reloj como todo programador y esto me esta desesperando un poco.
Saludos Velia

Chris 03-08-2007 17:38:36

Primero, deberías de saber que un combo utiliza TStrings, esto le permite almacenar punteros hacia controles, y al contrario, un treview utiliza Trenodes, lo cuales en su estado nativo no tienen la posibilidad de almacenar un puntero hacia un control. Claro que este problema tiene su solución.

Cada treenode tiene una propiedad llamada Data, en esta podrías almacenar el puntero. Revisa la ayuda de delphi para aprender como debes utilizar esta propiedad.

Velia 03-08-2007 17:51:37

Gracias por la ayuda
 
Muchas Gracias ya solucione con el dato que me diste.


La franja horaria es GMT +2. Ahora son las 23:00:27.

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