首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Treevie当前节点被移动或删除后,怎样才能使焦点留在原来的位置下

2013-02-17 
Treevie当前节点被移动或删除后,怎样才能使焦点留在原来的位置上?Treevie当前节点被移动或删除后,怎样才能

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).设置焦点.

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

热点排行