CTreeCtrl

1、

构造

CTreeCtrl构造一个CTreeCtrl对象
Create创建一个tree view控件并将它与一个CTreeCtrl对象连接

属性

GetCount获取与一个treeview控件相关联的tree项的数目
GetIndent获取一个tree view项对它的父项的偏移(以像素表示)
SetIndent设置一个tree view项对它的父项的偏移(以像素表示)
GetImageList获取与一个tree view控件相关联的图像列表的句柄
SetImageList设置与一个tree view控件相关联的图像列表的句柄
GetNextItem获取与指定的关系匹配的下一个tree view项
ItemHasChildren如果指定项有子项则返回非零值
GetChildItem获取一个指定tree view项的子项
GetNextSiblingItem获取指定tree view项的下一个兄弟项
GetPrevSiblingItem获取指定tree view项的前一个兄弟项
GetParentItem获取指定tree view项的父项
GetFirstVisibleItem获取指定tree view项的第一个可视项
GetNextVisibleItem获取指定tree view项的下一个可视项
GetPrevVisibleItem获取指定tree view项的前一个可视项
GetSelectedItem获取当前被选择的tree view项
GetDropHilightItem获取一次拖放操作的目标
GetRootItem获取指定tree view项的根
GetItem获取一个指定tree view项的属性
SetItem设置一个指定tree view项的属性
GetItemState返回一个项的状态
SetItemState设置一个项的状态
GetItemImage获取与一个项相关联的图像
SetItemImage设置与一个项相关联的图像
GetItemText返回一个项的文本
SetItemText设置一个项的文本
GetItemData返回与一个项关联的32位的应用程序指定值
SetItemData设置与一个项关联的32位的应用程序指定值
GetItemRect获取一个tree view项的边界矩形
GetEditControl获取用来编辑指定tree view项的编辑控件的句柄
GetVisibleCount获取与一个tree view项关联的可视tree项的编号
GetToolTips获取一个tree view控件使用的子ToolTip控件的的句柄
SetToolTips设置一个tree view控件的子ToolTip控件的的句柄
GetBkColor获取控件的当前背景颜色
SetBkColor设置控件的背景颜色
GetItemHeight获取tree view项的当前高度
SetItemHeight设置tree view项的当前高度
GetTextColor获取控件的当前文本颜色
SetTextColor设置控件的文本颜色
SetInsertMark设置一个tree view控件的插入标记
GetCheck获取一个tree控件项的核选状态
SetCheck设置一个tree控件项的核选状态
GetInsertMarkColor获取tree view用来绘制插入标记的颜色
SetInsertMarkColor设置tree view用来绘制插入标记的颜色

操作

InsertItem在一个tree view控件中插入一个新项。
DeleteItem从一个tree view控件中删除一个项
DeleteAllItems从一个tree view控件中删除所有的项
Expand展开或收缩指定tree view项的子项
Select选择,在视中滚动,或重画一个指定的tree view项
SelectItem选择一个指定的tree view项
SelectDropTarget重画作为一次拖放操作的目标的tree项
SelectSetFirstVisible选择一个指定的tree view项作为第一个可视项
EditLabel现场编辑一个指定的tree view项
HitTest返回与CtreeCtrl关联的光标的当前位置
CreateDragImage为指定的tree view项创建一个拖动位图
SortChildren排序一个给定父项的子项
EnsureVisible确保一个tree view项在它的tree view控件中是可视的
SortChildrenCB使用一个由应用程序定义的排序函数来排列一个给定父项的子项

2、 基础操作 

1 插入节点

1)插入根节点

//插入根节点  
HTREEITEM hRoot;  
CString str=L"ROOT"  
hRoot=nTreeCtrl.InsertItem(str);    
  
//相当于   
hRoot=nTreeCtrl.InsertItem(str,TVI_ROOT,TVI_LAST);  


2)插入孩子节点

//添加hRoot节点的孩子节点,并且被添加的节点位于hRoot所有孩子节点的末尾  
HTREEITEM hChild=nTreeCtrl.InsertItem(str,hRoot);  
  
//相当于  
HTREEITEM hChild=nTreeCtrl.InsertItem(str,hRoot,TVI_LAST);  

2 获得节点句柄

//获得根节点  
HTREEITEM hRootItem;  
hRootItem=nTreeCtrl.GetRootItem();  
  
  
//获得当前节点  
HTREEITEM hCurrentItem;  
hCurrentItem=nTreeCtrl.GetSelectedItem();  
  
  
//获得hItem的前一个节点  
  
HTREEITEM hPreItem;  
hPreItem=nTreeCtrl.GetNextItem(hItem,TVGN_PREVIOUS);  
  
  
//获得hItem的下一个节点  
HTREEITEM hNextItem;  
hNextItem=nTreeCtrl.GetNextItem(hItem,TVGN_NEXT);  

3 判断某节点是否有孩子节点

//判断某节点是否有孩子节点  
if (nTreeCtrl.ItemHasChildren(hRoot))  

4 展开或收缩子节点

//展开  
if(nTreeCtrl.ItemHasChildren(hRoot))  
    nTreeCtrl.Expand(hParentItem,TVE_EXPAND);  


5 获得第一个孩子节点的句柄

//判断某节点是否有孩子节点  
if (nTreeCtrl.ItemHasChildren(hRoot))  
{  
    //获得孩子节点  
    HTREEITEM hChild=nTreeCtrl.GetChildItem(hRoot);  
  
}  


6 遍历hRoot下一层的所有孩子节点

//判断某节点是否有孩子节点  
if (nTreeCtrl.ItemHasChildren(hRoot))  
{  
    //获得孩子节点  
    HTREEITEM hChild=nTreeCtrl.GetChildItem(hRoot);  
  
    //遍历hRoot下一层的所有孩子节点  
    while(hChild)  
    {  
        hChild=nTreeCtrl.GetNextItem(hChild,TVGN_NEXT);  
  
    }  
  
}  

7  获得某节点上的文字

//获得某节点上的文字  
CString str;  
nTreeCtrl.GetItemText(hRoot);  

8 选择某节点,并让其获得焦点  

 首先,TREE控件的样式必须设置为TVS_SHOWSELALWAYS 

   其次: 选择该节点

    treeCtrl.SelectItem(hItem);  

  最后,设置焦点

    treeCtrl.SetFocus();  

Tree控件设置焦点后,会自动将焦点定位到选择的节点上


9  清空树控件

nTreeCtrl.DeleteAllItems();

3、https://www.cnblogs.com/15157737693zsp/p/8011196.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值