我有一个如下示意图的tree结构:()------------根节点1
| |
| |_________()一级子节点1
| | |
| | |_________()二级子节点1
| | |_________()二级子节点2
| |
| |_________()一级子节点2
| |_________()一级子节点3
| |_________()一级子节点4
|
()------------根节点2
| |
| |_________()一级子节点1
| | |
| | |_________()二级子节点1
| | |_________()二级子节点2
| |
| |_________()一级子节点2
| |_________()一级子节点3
| |_________()一级子节点4
|
.............
.............
()------------根节点 n
|
|_________()一级子节点1
| |
| |_________()二级子节点1
| |_________()二级子节点2
|
|_________()一级子节点2
|_________()一级子节点3
|_________()一级子节点4可见有n个并列的根节点,我想问的是,当我的位置在任意子节点时,如何获得对应根节点的句柄??
我已经试过的方法:
1.GetRootItem()返回值不对,不行!
2.GetNextItem(hItem,TVGN_ROOT)返回值不对,不行!
3.循环GetParentItem()直到返回NULL,可以,但是太麻烦!请教各位大侠,有什么办法直接准确的获得这个句柄吗??谢谢!
| |
| |_________()一级子节点1
| | |
| | |_________()二级子节点1
| | |_________()二级子节点2
| |
| |_________()一级子节点2
| |_________()一级子节点3
| |_________()一级子节点4
|
()------------根节点2
| |
| |_________()一级子节点1
| | |
| | |_________()二级子节点1
| | |_________()二级子节点2
| |
| |_________()一级子节点2
| |_________()一级子节点3
| |_________()一级子节点4
|
.............
.............
()------------根节点 n
|
|_________()一级子节点1
| |
| |_________()二级子节点1
| |_________()二级子节点2
|
|_________()一级子节点2
|_________()一级子节点3
|_________()一级子节点4可见有n个并列的根节点,我想问的是,当我的位置在任意子节点时,如何获得对应根节点的句柄??
我已经试过的方法:
1.GetRootItem()返回值不对,不行!
2.GetNextItem(hItem,TVGN_ROOT)返回值不对,不行!
3.循环GetParentItem()直到返回NULL,可以,但是太麻烦!请教各位大侠,有什么办法直接准确的获得这个句柄吗??谢谢!
while(hItem != TVI_ROOT)
hItem = GetParentItem(hItem);
没试过,不知道行不行
除非你觉得效率不行了 ,那样做明显影响效率了吗? 应该不会吧.帮你up ~
up吧