询或设置选择项,应调用GetSelectedItem 或SelectItem。函数的声明如下:
HTREEITEM GetSelectedItem();
BOOL SelectItem(HTREEITEM hItem);
6.GetItem()和SetItem()函数
要查询或设置指定的项,可调用GetItem()和SetItem()函数。用这两个函数,几乎可以查
询和设置项的所有属xìng,包括表项的正文、图像及选择状态。函数的声明如下:
BOOL GetItem(TV_ITEM* pItem);
BOOL SetItem(TV_ITEM* pItem);
参数pItem 是指向TV_ITEM 结构的指针,函数通过该结构来查询或设置指定的项,在
调用函数前应该使该结构的hItem 成员有效以指定表项。CtreeCtrl 类还提供了一系列函数可
完成GetItem 和SetItem 的部分功能,其中GetItemState、GetItemText、GetItemData、
GetItemImage 和ItemHasChildren 函数用于查询,SetItemState、SetItemText、SetItemData 和
SetItemImage 函数用于设置。
7.GetNextItem()函数
在使用树形视图控件时,一个经常遇到的问题是对于一个已知表项,如何找到与该项有
某种关系的项,例如,父项、子项、兄弟项、下一个或前一个可见的项。利用GetNextItem()
函数可以解决这个问题,该函数也可以用来搜索具有某种状态的表项。GetNextItem()函数在
遍历树形视图时是很有用的,它的声明如下:
HTREEITEM GetNextItem(HTREEITEM hItem,UINT nCode);
参数hItem 指定了一个项。参数nCode 是一个标志,标明了与指定项的关系,nCode 可
以是如表5-24 所示的各种标志。如果找到相关的项,函数返回该项的句柄,否则函数返回
NULL。
表5-24 树型控件中nCode 的取值
风格 含义
TVGN_CARET 返回当前的选择项
TVGN_CHILD 返回指定表项的子项
TVGN_DROPHILITE 返回拖动cāo作的目标项
TVGN_FIRSTVISIBLE 返回第一个可见项
TVGN_NEXT 返回指定项的下一个兄弟项(Sibling Item)
TVGN_NEXTVISIBLE 返回指定项的后一个可见项
TVGN_PARENT 返回指定项的父项
TVGN_PREVIOUS 返回指定项的前一个兄弟项
TVGN_PREVIOUSVISIBLE 返回指定项的前一个可见项
TVGN_ROOT 返回位于最高层(根位置)的第一个表项
CTreeCtrl 类提供了一系列的成员函数来完成GetNextItem 的某一项功能, 包括
GetRootItem()、GetFirstVisibleItem()、Get