/** * @file TreeTools.h * @brief 树操作常用函数 * @author 周 伟 * @version 1.0 * @date 2010年03月01日 */ #pragma once class AFX_EXT_CLASS CTreeUtility { public: CTreeUtility(void); ~CTreeUtility(void); /** * @brief 将源树枝移动到目标树枝之后,移动包括树枝子树,删除源树枝 * @param hParent [in] 父树 * @param hSource [in] 源树枝 * @param hTarget [in] 目标树枝 * @return BOOL 移动成功返回TRUE,否则返回FALSE */ static BOOL MoveTreeItems(CTreeCtrl* pTreeCtrl,HTREEITEM hSource,HTREEITEM hTarget); /** * @brief 拷贝源树枝的所有子树到目标树枝下 * @param hSource [in] 源树枝 * @param hTarget [in] 目标树枝 * @return BOOL 移动成功返回TRUE,否则返回FALSE */ static BOOL CopyTreeItems(CTreeCtrl *pTreeCtrl,HTREEITEM hSource,HTREEITEM hTarget); /** * @brief 完全拷贝树 * @param hSource [in] 源树枝 * @param hTarget [in] 目标树枝 */ static BOOL CopyTreeItems(CTreeCtrl *pTreeSource, CTreeCtrl *pTreeTarget); /** * @brief 删除hParent根下所有子条目 */ static BOOL DeleteTreeItems(CTreeCtrl *pTreeCtrl,HTREEITEM hParent); /** * @brief 返回树枝处于父树枝的索引位置 */ static int GetTreeItemIndex(CTreeCtrl* pTreeCtrl, HTREEITEM hItem); /** * @brief 得到父树枝的第一个子树枝 */ static HTREEITEM GetFirstChildItem(CTreeCtrl *pTreeCtrl,HTREEITEM hParent); /** * @brief 得到父树枝的最后一个子树枝 */ static HTREEITEM GetLastChildItem(CTreeCtrl *pTreeCtrl,HTREEITEM hParent); /** * @brief 查找父树下的第一级子树,返回文本为strText的子树 * @param hParent [in] 父树 * @param strText [in] 文本 */ static HTREEITEM SeekItemText(CTreeCtrl* pTreeCtrl,HTREEITEM hParent,CString strText); };