Hola newtron.
Me quedó en el tintero comentarte que no necesariamente tenes que crear una clase para el caso, en el enlace que puso
Casimiro lo hice como ejemplo.
Otra forma que podrías usar la propiedad Data:
Código Delphi
[-]
...
Nodo1:=TreeView1.Items.AddChildObject(Nodo0, EDBQuery1.FieldByName('Name').AsString, EDBQuery1.GetBookmark);
..
Lo que te permite por ejemplo:
Código Delphi
[-]
procedure TForm1.TreeView1Click(Sender: TObject);
var
Nodo: TTreeNode;
P: TPoint;
begin
P:= ScreenToclient(Mouse.CursorPos);
Nodo:= TreeView1.GetNodeAt(P.X, P.Y);
if Nodo <> nil then
begin
EDBQuery1.GotoBookmark(Nodo.Data);
...
end;
end;
Y si solo deseas almacenar el bookmark en los primeros nodos, deberías cambiar el condicional por:
Código Delphi
[-]
if (Nodo <> nil) and (Nodo.Level = 1) then
Saludos.
