How can I iterate through ALL items in a CTreeCtrl? I have multiple items
at the root level. I seem only to be able to loop through one sub tree off
of the root. What I really want to do is fully expand all node in the tree.
The following code almost does what I want but not quite:
if (hti = treeCtrl.GetRootItem())
{
while (hti = treeCtrl.GetNextItem(hti,TVGN_NEXT))
treeCtrl.Expand(hti,TVE_EXPAND) ;
}
Thanks in Advance,
Craig Klementowski
cr...@mediaright.com
list of all children for one level:
if (GetTreeCtrl().ItemHasChildren(hRootItem))
{
hItem = GetTreeCtrl().GetChildItem(hRootDevice);
...
while (hItem = GetTreeCtrl().GetNextItem(hItem,TVGN_NEXT))
...
}
Mediaright Technology, Inc. wrote in article
<01bca740$ecd8ada0$dba562ce@mercer>...
Recursive functions work great for this kind of thing.
void ExpandAll(HTREEITEM hItemParent)
{
HTREEITEM childItem;
if(GetTreeCtrl().ItemHasChildren(hItemParent){
GetTreeCtrl().Expand(hItemParent);
for(childItem = GetTreeCtrl().GetChildItem(childItem);childItem !=
NULL;
childItem = GetTreeCtrl().GetNextItem(childItem, TVGN_NEXT))
ExpandAll(childItem);
}
}
-Zafir