这里指的ITEM个数并不是所有的,一个node中的所有的ITEM的个数-ROOT
|
 ---NODE1
   |
   ---A
   |
   ---B
   |
   ---C
 ---NODE2
   |
在这里我要知道NODE1中有3个ITEM。

解决方案 »

  1.   

    枚举所有Root节点
    HTREEITEM hRoot = m_tree.GetRootItem();
    while(hRoot)
    {
    hRoot = m_tree.GetNextItem(hRoot, TVGN_NEXT);
    }
      

  2.   

    遍历函数
    void TreeVisit(CTreeCtrl& tree, HTREEITEM hItem)
    {
    //DoWithItem(hItem); //访问当前节点
    if (tree.ItemHasChildren(hItem))
    {
    HTREEITEM hChildItem = tree.GetChildItem(hItem);
    while(hChildItem!=NULL)
    {
    TreeVisit(tree, hChildItem); //递归遍历孩子节点
    hChildItem = tree.GetNextItem(hChildItem, TVGN_NEXT);
    }
    }
    }
      

  3.   

    HTREEITEM hItem = tree.GetChildItem(hItem);
    int itemCount=0;
    while(hItem!=NULL)
    {
        tree.GetNextSiblingItem(hItem);    //兄弟结点
        itemCount++
    }要下一层的子结点就用递归.数据保存你自己可以组织一看.看怎么存放.