我只找到这样的例子:
HTREEITEM hItem,hSubItem;
hItem = m_tree.InsertItem("Parent1",TVI_ROOT);在根结点上添加Parent1
hSubItem = m_tree.InsertItem("Child1_1",hItem);//在Parent1上添加一个子结点
hSubItem = m_tree.InsertItem("Child1_2",hItem,hSubItem);//在Parent1上添加一个子结点,排在Child1_1后面
现在我需要插入的结点是个二叉树结构,要添加的结点是二叉树里的结点,那么这些结点该怎么添加?
请高手,大侠门指导一下啊

解决方案 »

  1.   

    使用递归的方法。
    首先按照中序遍历二叉树的方法,逐个插入节点。然后对左节点再次调用.
    void insertBinTree(ANODE *pNode, HTREEITEM pRoot)
    {
        HTREEITEM hItem, hSubItem;
        if (pNode == NULL)
            return;
        hItem = m_tree.InsertItem(pNode->name, pRoot);
        if (pNode->left != NULL)
        {
           insertBinTree(pNode->left, hItem);
        }
        if (pNode->right != NULL)
        {
           hSubItem = m_tree.InsertItem(pNode->right, hItem);
        }
    }