关于treeview的求救 ( 积分: 100 )

  • 主题发起人 主题发起人 394558739
  • 开始时间 开始时间
3

394558739

Unregistered / Unconfirmed
GUEST, unregistred user!
1、如何在添加节点时焦点返回选定新添加的节点上,即添加节点后新节点被选中。
2、如何在删除节点后,焦点返回选定上一个同级节点,即删除节点后同级一个节点被选中,注意分三种情况:情况一删除最后节点时返回同级上一个节点被选中,情况二删除为随意节点后返回同级一个节点被选中,情况三该节点中只有一个子节点时,删除该子节点后返回该被删除的子节点的上一级节点。
上述望各位高手回答,先谢。
 
创建NewNode新节点后:
1. tvTreeView.Selected := NewNode; 选中新节点;
2. 如果准备删除节点DeleleteNode,先保存该节点的前一个同级节点:
NewSelNode := DeleleteNode.GetPrevSibling; // 选上一个同级节点
if not Assigned(NewSelNode) then
begin
NewSelNode := DeleleteNode.GetNextSibling; // 选下一个同级节点
if not Assigned(NewSelNode) then
begin
NewSelNode := DeleleteNode.Parent; // 选上级节点
end;
end;
tvTreeView.Selected := NewSelNode;
 
删除只前

Pre := TreeView.Selected.getPrevSibling
或者
Pre := TreeView.Selected.GetPrev
或者
Pre := TreeView.Selected.GetPrevVisible

看看哪一个你能用的上
 
也不是,有图片看,应会清楚的http://bbs.2ccc.com/topic.asp?topicid=279280
 
不就是三个判断么
如果
if 存在前一结点 then
选中前一结点
else if 存在后一结点 then
选中后一结点
else if 存在父结点 then
选种父结点
 
to iamy 这次接近我的意思了,但请写出具体代码,代码合适的,就快结贴了
 
后退
顶部