HTREEITEM CTreeFind(CTreeCtrl& tree, HTREEITEM hRootItem, unsigned int ulNode)
{
DWORD ulData;
HTREEITEM hTreeRes;
hTreeRes = NULL;
ulData = tree.GetItemData(hRootItem);
if (ulData == ulNode)
{
hTreeRes = hRootItem;
}
else if (tree.ItemHasChildren(hRootItem))
{
HTREEITEM hChildItem = tree.GetChildItem(hRootItem);
while(hChildItem!=NULL)
{
hTreeRes = CTreeFind(tree, hChildItem, ulNode);
if (hTreeRes != NULL)
{
break;
}
hChildItem = tree.GetNextItem(hChildItem, TVGN_NEXT);
}
}
return hTreeRes;
}
HTREEITEM GetTreeItem(unsigned int ulNode)
{
HTREEITEM pRes = NULL;
HTREEITEM pRoot = NULL;
pRoot = m_treeMain.GetRootItem();
while (pRoot != NULL)
{
pRes = CTreeFind(m_treeMain, pRoot, ulNode);
if (pRes != NULL)
{
break;
}
pRoot = m_treeMain.GetNextItem(pRoot, TVGN_NEXT);
}
return pRes;
}