MFC遍历树控件中选中的节点,前提是多选

来源:互联网 发布:获取淘宝买家手机号 编辑:程序博客网 时间:2024/05/21 06:45
//item:根节点HTREEITEM  CTableListDlg::FindItem(HTREEITEM  item)  {  HTREEITEM  hfind;//空树,直接返回NULLif(item ==  NULL)  return  NULL;//遍历查找while(item!=NULL){//当前节点即所需查找节点if(m_treeDir.GetItemState(item, TVIS_SELECTED) & TVIS_SELECTED){HTREEITEM hItem = item;HTREEITEM hRoot = m_treeDir.GetRootItem();CString FullPath = m_treeDir.GetItemText(hItem);while (hItem != hRoot){hItem = m_treeDir.GetParentItem(hItem);CString temp = m_treeDir.GetItemText(hItem);if (temp == L"计算机"){break;}FullPath = temp + L"\\" + FullPath;}// 可以把所有的路径放到容器中,以便后期对文件操作AfxMessageBox(FullPath);//return  item;}//查找当前节点的子节点if(m_treeDir.ItemHasChildren(item)){item = m_treeDir.GetChildItem(item);//递归调用查找子节点下节点hfind  =  FindItem(item);if(hfind){return  hfind;}  else{//子节点中未发现所需节点,继续查找兄弟节点item = m_treeDir.GetNextSiblingItem(m_treeDir.GetParentItem(item));}}else{//若无子节点,继续查找兄弟节点item = m_treeDir.GetNextSiblingItem(item);}}return item;}

0 0
原创粉丝点击