删除CTreeCtrl中某个节点的子节点

删除某个节点的子节点,下面提供两种方法:

 

void CFileView::DelAllChildOfItem(HTREEITEM hItem)
{
	BOOL bRet=FALSE;
	HTREEITEM hChildItem=NULL;
	while (TRUE)
	{
		bRet= m_Tree.ItemHasChildren(hItem);
		if (!bRet)//没有孩子
		{
			break;
		} 
		else
		{
			hChildItem=m_Tree.GetChildItem(hItem);
			m_Tree.DeleteItem(hChildItem);
		}
	}
	return;

	/*
	方法二:

	if (m_Tree.ItemHasChildren(hItem))
	{
		HTREEITEM hNextItem=NULL;
		HTREEITEM hChildItem=m_Tree.GetChildItem(hItem);

		while (hChildItem!=NULL)
		{
			hNextItem=m_Tree.GetNextItem(hChildItem,TVGN_NEXT);
			m_Tree.DeleteItem(hChildItem);
			hChildItem=hNextItem;
		}
	}
	*/
}

 

 

 

 

 

 

你可能感兴趣的:(MFC界面)