HTREEITEM hParent,hChild;
hChild = m_Tree.GetNextItem(hParent,TVGN_CHILD);
while(hChild != NULL)
{
//...............your code
hChild = m_Tree.GetNextItem(hChild,TVGN_NEXT);
}

解决方案 »

  1.   

    程序如下:
    HTREEITEM root = m_pTreeCtrl->GetRootItem(); HTREEITEM cur = m_pTreeCtrl->GetChildItem(root);
             CString str;
    while(cur != NULL)
    {
    str += m_pTreeCtrl->GetItemText(cur);
                      str += _T("\n\r");
    cur = m_pTreeCtrl->GetNextSiblingItem(cur);
    }
      

  2.   

    int CFolderTreeList::GetChildItemCount(HTREEITEM hParent)
    {
    int iChildItemCount = 0;
    HTREEITEM m_hItemChild = GetNextItem(hParent, TVGN_CHILD);
    while(m_hItemChild != NULL)
    {
    iChildItemCount++;
    m_hItemChild = GetNextItem(m_hItemChild, TVGN_NEXT);
    }
    return iChildItemCount;
    }
      

  3.   

    以上程序在CTreeView的派生类中实现。
    1。加入消息映射宏:ON_NOTIFY_REFLECT(TVN_SELCHANGING, OnSelchanging)
    2。加入消息处理函数OnSelchanging.
    void CTreeViewUser::OnSelchanging(NMHDR* pNMHDR, LRESULT* pResult) 
    {
        
        HTREEITEM cur = m_pTreeCtrl->GetSelectedItem();
        HTREEITEM child = m_pTreeCtrl->GetChildItem(cur);
        CString str;
        while(child != NULL)
        {
            str += m_pTreeCtrl->GetItemText(child);
               //Your own code
            cur = m_pTreeCtrl->GetNextSiblingItem(child);
        }
    .....
    }