获取MFC树控件所有节点附加数据

void GetAllItemData(const CTreeCtrl& tree, HTREEITEM hItem, map<HTREEITEM,DWORD_PTR>& itmData)
{ 
    if (NULL == hItem)
    {
        return ;
    }
    
    itmData.insert(make_pair(hItem,tree.GetItemData(hItem)));

    HTREEITEM hChildItem =  tree.GetChildItem(hItem);
    if (NULL != hChildItem)
    {
        GetAllItemData(tree, hChildItem, itmData);
    }

    HTREEITEM hSib = tree.GetNextSiblingItem(hItem);
    if (hSib != NULL)
    {
        GetAllItemData(tree, hSib, itmData);
    }
}

调用方法:

    map<HTREEITEM,DWORD_PTR> itmData;
    GetAllItemData(m_tree, m_tree.GetRootItem(), itmData);
作者:快雪
本文版权归作者所有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/kuaixue/p/14144293.html