树形控件划分:
根节点:所有都收缩后的节点
节点: 能展开
叶: 不能展开
说明: 节点和叶不是绝对的划分,当在对叶添加新下属后,该叶变为节点
树形控件添加:
节点结构体: HTREEITEM ,用该结构体声明节点变量
为控件添加项:
HTREEITEM InsertItem( LPCTSTR lpszItem, //项名 int nImage, //树视图控件图像列表中的项的图像的索引 int nSelectedImage, //树视图控件图像列表中的项的所选图像的索引 HTREEITEM hParent = TVI_ROOT, //插入的项的父级的句柄 HTREEITEM hInsertAfter = TVI_LAST //新的项之前要插入的项的句柄 );注:添加项之前先设定根节点,在初始化
树形控件鼠标点击:
判断鼠标位置
HTREEITEM CMyTreeDlg::GetSelectTree() { CPoint pt; GetCursorPos(&pt);//得到当前鼠标的位置 m_MyTree.ScreenToClient(&pt);//将屏幕坐标转换为客户区坐标 HTREEITEM tree_Item = m_MyTree.HitTest(pt);//调用HitTest找到对应点击的树节点 return tree_Item; //返回鼠标位置节点 }
获取某项文本
CString GetItemText(HTREEITEM hItem) const;
获取指定关系项
HTREEITEM GetNextItem( HTREEITEM hItem, UINT nCode) const;
nCode
标志可以是下列值之一︰TVGN_CARET
检索当前所选的项。TVGN_CHILD
检索由指定的项的第一个子项目hItem
参数。TVGN_DROPHILITE
检索拖放操作的目标的项。TVGN_FIRSTVISIBLE
检索第一个可见项。TVGN_LASTVISIBLE
检索在树中最后一个展开的项目。 这并不检索树视图窗口中可见的最后一项。TVGN_NEXT
检索下一个同级项。TVGN_NEXTVISIBLE
检索遵循指定的项的下一个可见项。TVGN_PARENT
检索指定项的父级。TVGN_PREVIOUS
检索前面的同级项。TVGN_PREVIOUSVISIBLE
检索位于指定的项的第一个可见项。TVGN_ROOT
检索指定的项的一部分的根项的第一个子级项。
获取指定项的父项
HTREEITEM GetParentItem(HTREEITEM hItem) const;
原文地址:https://www.cnblogs.com/sepmaple/p/9552957.html
时间: 2024-11-29 12:23:31