读书人

Treevie当前节点被移动或删除后怎样

发布时间: 2013-02-17 10:44:46 作者: rapoo

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;

[解决办法]
类似代码

//移动前
TPoint:=待移动节点的Pos;
//移动后
if Assigned(TreeView.获取NodeByPoint(TPoint)) then
TreeView.获取NodeByPoint(TPoint).设置焦点.

方法和函数都有的,不记得名字了,意思就这样吧

读书人网 >.NET

热点推荐