Treevie当前节点被移动或删除后,怎样才能使焦点留在原来的位置上?
Treevie当前节点被移动或删除后,怎样才能使焦点留在原来的位置上?
aaaa
|---111
|---222-→当前节点被移动到最后
|---333
|---444
|---555
|---666
节点222被移动,333节点获得焦点
aaaa
|---111
|---333-→ 变为当前节点
|---444
|---555
|---666
|---222
[解决办法]
anode := node.GetNext;
node.delete;
anode.Selected;
[解决办法]
先记录下个获得焦点的Node,删除当前Node后,再设置记录的Node为选中即可
[解决办法]
//SetFocuseNode(当前待删除节点)
procedure SetFocuseNode(curNode : TcxTreeListNode);
begin
if curNode.GetNext <> nil then
curNode.GetNext.Selected := true
else
if curNode.GetPrev <> nil then
curNode.GetPrev.Selected := true;
curNode.Delete;
end;