HTREEITEM GetParentItem( HTREEITEM hItem );
HTREEITEM InsertItem( LPTVINSERTSTRUCT lpInsertStruct );

解决方案 »

  1.   

    在要插入子级之前,肯定已经插入了父级,插入父级时,保存其返回值HTREEITEM型,将其作为插入子级时parent参数:
    HTREEITEM InsertItem( LPCTSTR lpszItem, int nImage, int nSelectedImage,  HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST);
    即第四个参数。平级的话,不管该参数,或指定为其共同的父级,它们会按照插入顺序得到Index
      

  2.   

    根據 ygd(小小大圣)的提示,用如下可以實現.
    其中:tvDept為CTreeCtrl對象,szName為要插入的字符串變量if (tvDept.GetCount()==0){
        tvDept.InsertItem(szName);
    }else{
        HTREEITEM hitem=tvDept.GetSelectedItem ();
        if (hitem==NULL){
           tvDept.InsertItem (szName);
        }else{
             if (iSel==1)tvDept.InsertItem (szName,hitem);
             else {
                  hitem=tvDept.GetParentItem (hitem);
                  if (hitem==NULL)tvDept.InsertItem (szName);
                  else tvDept.InsertItem (szName,hitem);
              }
        }
    }
    但不知有沒有更好的辦法?