Cita:
perceptron comentó:
Es decir por ejemplo cuando tengo un memo en blanco y escriba algo le de a un boton y me cree un nodo con un monbre, y en este nodo me guarde lo que habia escrito. Todo esto es para que cuando vaya recorriendo el treeview nodo por nodo me vaya cambiando en el memo que tiene el formulario el texto que habia almacenado en cada uno de los memos.
|
Ok. Ya entendí.
Cada nodo tiene una propiedad Data que es un apuntador y lo puedes asignar a alguna estructura que almacene el texto del memo o bien a un objeto.
Quizá te convenga asociar cada Node.Data a un objeto TStringList en donde copias el contenido del memo:
Código:
var
Node: TTreeNode;
Lines: TStringList;
begin
{
Creas el nodo con alguno de los métodos de TreeView.Items
P. ej. Node := TreeView.AddChild(..);
}
{ Creas el objeto para almacenar el contenido del memo }
Lines := TSringList.Create;
Lines.AddStrings(Memo.Lines);
{ Guardas el objeto en el nodo }
Node.Data := Lines;
end;
Posteriormente, cuando necesites acceder al contenido del nodo deberás hacer un "casting":
Código:
{
Node es el nodo en cuestión
Podría ser TreeView.Selected
}
Memo.Lines := TStringList(Node.Data).Lines;
Finalmente, cada vez que borres un nodo, explícita o implícitamente, debes liberar el objeto asociado. Lo más cómodo es hacerlo en el evento OnDeletion del TreeView:
Código:
procedure TFormTreeViewDeletion(...);
begin
if Node.Data <> nil then
TStringList(Node.Data).Free;
end;
// Saludos