//hroot:待遍历树的根节点,strname:待查找节点名称
HTREEITEM finditem(HTREEITEM hroot, CString strname)
{
HTREEITEM hfind;
//表明此树是空树,直接返回NULL
if(hroot== NULL)
return NULL;
//否则遍历查找
while(hroot!=NULL)
{
//当前节点即所需查找节点
if(GetItemText(hroot) ==strname)
return hroot;
//查找当前节点的子节点
if(ItemHasChildren(hroot))
{
hroot= GetChildItem(hroot);
//递归调用查找子节点下节点
hfind = finditem(hroot,strname);
if(hfind)
{
return hfind;
}else
//子节点中未发现所需节点,继续查找兄弟节点
hroot= GetNextSiblingItem(GetParentItem(hroot));
}
else{
//若无子节点,继续查找兄弟节点
hroot= GetNextSiblingItem(hroot);
}
}
return hroot;
}