本帖最后由 Mirro87 于 2014-12-16 23:17:13 编辑

解决方案 »

  1.   

    for(int i = 1; i <= 3; i++)  // 逐层遍历
    {
        TravelLayer(pTreeCtrl, hRootItem, i);
    }void Cdec16_treeDlg::TravelLayer(CTreeCtrl *pTreeCtrl, HTREEITEM hItem, int layer) 
    {
        if(layer == 0)
        {
            OutputDebugString(pTreeCtrl->GetItemText(hItem));  // 输出结点文本 
        }    HTREEITEM hCurItem = pTreeCtrl->GetChildItem(hItem); 
        HTREEITEM hNextItem; 
        while(hCurItem) 
        {
            TravelLayer(pTreeCtrl, hNextItem, layer - 1); 
            hCurItem = pTreeCtrl->GetNextSiblingItem(hCurItem);
            hNextItem = hCurItem;
        } 
    }