MFC 树控件 将一棵树全部展开

主要是使用以下两个函数:

m_TreeControl是树控件所关联的CTreeCtrl变量。

//展开树控件的所有结点函数,结合下面的函数一起用
void CDialogModelTree::ItemExpandTree()
{
	MyExpandTree(m_TreeControl.GetRootItem());
}
 
//展开树控件的所有结点,结合上面控件一起用
void CDialogModelTree::MyExpandTree(HTREEITEM hTreeItem)
{
    if(!m_TreeControl.ItemHasChildren(hTreeItem))//如果树控件根节点没有子节点则返回
    {
        return;
    }
    HTREEITEM hNextItem = m_TreeControl.GetChildItem(hTreeItem);//若树控件的根节点有子节点则获取根节点的子节点
    while (hNextItem != NULL)//若有
    {
        MyExpandTree(hNextItem);//递归,展开子节点下的所有子节点
        hNextItem = m_TreeControl.GetNextItem(hNextItem, TVGN_NEXT);//获取根节点的下一个子节点
    }
    m_TreeControl.Expand(hTreeItem,TVE_EXPAND);//展开节点
}

猜你喜欢

转载自blog.csdn.net/mikasoi/article/details/81749957