现在的位置: 首页 > 综合 > 正文

CTreeCtrl控件的查找节点

2018年02月12日 ⁄ 综合 ⁄ 共 955字 ⁄ 字号 评论关闭

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;
}

抱歉!评论已关闭.