TreeView增加子目录出错

drlqyy 2007-09-19 10:45:06
TreeView->Items->BeginUpdate();
TreeView->Items->Clear() ;
TreeView->Items->Add(NULL,"新增行一");
TreeView->Items->Add(NULL,"新增行二");
TreeView->Items->AddChild(TreeView->Items->Item[1],"111111" ) ;
//加在"新增行二
TreeView->Items->AddChild(TreeView->Items->Item[0],"000000" );
//加在"新增行一
TreeView->Items->AddChild(TreeView->Items->Item[1],"222221" ) ;
//为何会加在"000000"上,而不加在"新增行二" 上
TreeView->Items->AddChild(TreeView->Items->Item[0],"333330" ) ;
TreeView->Items->EndUpdate() ;
...全文
61 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
drlqyy 2007-09-19
  • 打赏
  • 举报
回复
非常感谢!
jab_snake 2007-09-19
  • 打赏
  • 举报
回复
你的问题是在于把树的节点的顺序号视为固定不变,但是树的节点顺序号是随着节点的增加而变化的
新增行一 0
000000 1
新增行二 2
111111 3
---------------------
新增行一 0
000000 1
222221 2
新增行二 3
111111 4
---------------------
新增行一 0
000000 1
222221 2
333330 3
新增行二 4
111111 5

Items->Item[num]
里的num参数是树的顺序号,可以用
TreeView->Items->Item[i]->AbsoluteIndex来获得
TreeView->Items->Item[i]->Index则是同层级节点的顺序号

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧