Как я могу использовать TShellTreeView - PullRequest
0 голосов
/ 05 ноября 2019

Это с Delphi XE7. У меня есть процедура, которая добавляет узлы в TtreeView. TreeView создается во время выполнения и добавляется в Panel. Затем этот код запускается для построения дерева.

var
  node0, node1, node2, node3, node4, node5: TtreeNode;
begin
  Tree.Items.Clear;
  node0 := Tree.Items.Add(nil, 'Client Folders');
  node1 := Tree.Items.AddChild(node0, 'C:\files');
  node3 := Tree.Items.AddChild(node1, 'Folder 1');
  node2 := Tree.Items.AddChild(node0, '\\Westdc2\dev');
  node4 := Tree.Items.AddChild(node2, 'Folder 2');
  node5 := Tree.Items.AddChildFirst(node4, 'Folder 3');

Это работает правильно;Я получаю клиентские папки с двумя папками под ним: C: \ files и \ westdc2 \ dev и папки 1-3 под ними.

With TtreeView

Но если я изменю определение Tree на TShellTreeView (и в .Create), оно не будет работать. Я просто добавил клиентские папки и ничего больше.

enter image description here

То же самое с Tree.Items.Clear или без нее, которая удаляет системные папки при использовании TShellTreeview.

...