赞
踩
转载自:http://blog.csdn.net/zmaojun/article/details/4006681
1.展开所有子节点
void ExpandTree(CTreeCtrl* pTreeCtrl,HTREEITEM hItem) { HTREEITEM hChild,hNext,hParent; if((!hItem)||(!pTreeCtrl)) return; //存在则展开节点 pTreeCtrl->Expand(hItem,TVE_EXPAND); hChild = pTreeCtrl->GetNextItem(hItem,TVGN_CHILD); if(hChild) {//如果有子节点,展开子节点 ExpandTree(pTreeCtrl,hChild); } else {//没有子节点,寻找其兄弟节点 hNext = pTreeCtrl->GetNextItem(hItem,TVGN_NEXT); if(hNext) {//存在兄弟节点 ExpandTree(pTreeCtrl,hNext); } else {//不存在兄弟节点,继续找父节点 hParent = pTreeCtrl->GetParentItem(hItem); hNext = pTreeCtrl->GetNextItem(hParent,TVGN_NEXT); if(hNext) ExpandTree(pTreeCtrl,hNext); } } }
void CollapseTree(CTreeCtrl* pTreeCtrl,HTREEITEM hItem) { HTREEITEM hChild,hNext,hParent; if((!hItem)||(!pTreeCtrl)) return; //存在则收起节点 pTreeCtrl->Expand(hItem,TVE_COLLAPSE); hChild = pTreeCtrl->GetNextItem(hItem,TVGN_CHILD); if(hChild) {//如果有子节点,收起子节点 CollapseTree(pTreeCtrl,hChild); } else {//没有子节点,寻找其兄弟节点 hNext = pTreeCtrl->GetNextItem(hItem,TVGN_NEXT); if(hNext) {//存在兄弟节点 CollapseTree(pTreeCtrl,hNext); } else {//不存在兄弟节点,继续找父节点 hParent = pTreeCtrl->GetParentItem(hItem); hNext = pTreeCtrl->GetNextItem(hParent,TVGN_NEXT); if(hNext) CollapseTree(pTreeCtrl,hNext); } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。