Ver Mensaje Individual
  #2  
Antiguo 07-04-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Reputación: 20
keyboy Va por buen camino
Cada nodo (TTreeNode) tiene una propiedad Data de tipo Pointer que puedes apuntar a la estructura o clase que quieras. Simplemente tienes que tener cuidado con el manejo de la memoria. Lo más sencillo es que uses el evento OnAddition del Treeview para crear el objeto que desees y asignarlo al nodo:

Código Delphi [-]
procedure TForm1.TreeView1Addition(Sender: TObject; Node: TTreeNode);
var
  Dato: TMiClase;

begin
  Dato := TMiClase.Create(...);
  Node.Data := Dato;
end;

y el evento OnDeletion para liberar memoria:

Código Delphi [-]
procedure TForm1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);
begin
  TMiClase(Node.Data).Free;
end;

Eso sí, para acceder a los datos del nodo tienes que hacer el moldeo:

Código Delphi [-]
TMiClase(TreeVie1.Selected.Data).Activo := ....;

Bye

Última edición por keyboy fecha: 07-04-2008 a las 20:46:12. Razón: Olvidé el .Data en el último trozo
Responder Con Cita