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();