Hola, gracias por vuestra ayuda, ya conseguí resolver el problema.
Código Delphi
[-]
procedure TFMain.TreeViewChange(Sender: TObject; Node: TTreeNode);
var
str: TStringList;
i, u: integer;
s: string;
begin
if node.level = 0 then
begin
if node.Index = 1 then
begin
Node.DeleteChildren;
str:= dbEngine_GetAlbumList;
for i := 0 to str.Count -1 do
begin
TreeView.Items.AddChild(node, str.Strings[i]);
end;
end;
if node.Index = 2 then
begin
Node.DeleteChildren;
str:= dbEngine_GetArtistList;
for i := 0 to str.Count -1 do
begin
TreeView.Items.AddChild(node, str.Strings[i]);
end;
end;
if node.Index = 3 then
begin
Node.DeleteChildren;
str:= dbEngine_GetStyleList;
for i := 0 to str.Count -1 do
begin
TreeView.Items.AddChild(node, str.Strings[i]);
end;
end;
if node.Index = 4 then
begin
Node.DeleteChildren;
str:= dbEngine_GetFolderList;
for i := 0 to str.Count -1 do
begin
TreeView.Items.AddChild(node, str.Strings[i]);
end;
end;
end;
if node.Level = 1 then
begin
PlayList.Items.Clear;
if node.Index = 0 then
begin
case Node.GetPrev.index of
1: TthreadAlbumList.Create(Node.text);
2: TthreadArtistList.Create(Node.text);
3: TthreadStyleList.Create(Node.text);
4: TthreadFolderList.Create(Node.text);
end;
end else
begin
s:= node.text;
for u := node.index downto 0 do
begin
node:= node.GetPrev;
end;
case Node.Index of
1: TthreadAlbumList.Create(s);
2: TthreadArtistList.Create(s);
3: TthreadStyleList.Create(s);
4: TthreadFolderList.Create(s);
end;
end;
end;
end;
Saludos.