Code to add items to tree view:
Dim node1 as Node
Set Node1 = TreeView1.Nodes.add(,,"P1","Parent1"

Set Node1 =TreeView1.Nodes.add("P1",tvwChild,"CA1","Child1"

Set Node1 =TreeView1.Nodes.add("P1",tvwChild,"CA2","Child2"
Set Node1 = TreeView1.Nodes.add(,,"P2","Parent2"

Set Node1 =TreeView1.Nodes.add("P2",tvwChild,"CB1","Child1"

Set Node1 =TreeView1.Nodes.add("P2",tvwChild,"CB2","Child2"
Parent represents the report name and child would represent the subreport or related report - depends on what you want your heirarchy to look like. The tree view automatically become scrollable once you have items in there that are larger than the tree - you can always adjust the tree view size(make it smaller) to test out the scroll bar.
If your report names are coming in via an array then you would have to find a way to distinguish the parent and child nodes - once you do that (perhaps add a colum for each row of data that states if its a parent or child - if each node is a parent then this is a nonissue) then just loop thru each item in the array and using the code above, add each item to the tree.
To associate an icon for each node in a tree view you can check out this url:
-its pretty straight forward and there is sample code provided.
Hope this helps.
-A