treeview增加节点后的定位问题 比如我现在定位在第二层的第3个节点,我现在在相同的层上又增加了一个节点,提交后重新生成树,可是鼠标没法直接定位到新的节点或原来的节点,请问如何定位呢?我已经记下原来的index了,但我不知道用哪个属性定位,谢谢指点!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 方法不止一种,最万能的方法是利用每个结点的DATA属性,比如在该属性上写个标志啊什么的,你的需求简单只需要写个INTEGER类似就可以了,然后遍历你的TREEVIEW,检查该属性,即完成定位。DATA属性上还可以附加上一个结构,那样记录的信息会更全。 每个node要有一个唯一的标识,可以用data属性保存,然后遍历节点,找到根据data值找到节点,然后设置为selected 我记下了Parent.Index和Index,可是再用啥语句定位啊? ATreeNode.selected := True;Treeview.selected := ATreeNode; Treeview.selected := Treeview.items[oldindex];或newnode:=Treeview.add(oldnode,'new');Treeview.selected := newnode; 找到当前节点,selected属性设为true也行。treeview1.Items.Item[0].selected := True; var node,newNode:TTreeNode;begin node:=tv1.Selected; newNode:=tv1.Items.AddChild(node.Parent,'滑入深渊'); tv1.SetFocus; newNode.Selected:=True;end;平台XE,treeView的个别属性应该和D6、D7不同。注意Node本身的属性来定位,treeView的selected属性定位,需要首先把TreeView来SetFocus; 是想看见效果,需要tv1.SetFocus;不调用tv1.SetFocus;,treeview的焦点也在那个节点上 给你一段代码: for i:=0 to TreeView1.items.count-1 do begin NowNode:=fcTreeView1.items[i]; if NowNode.Data=S then begin NowNode.selected; break; end; end; 彩超工作站的研发 TWebBrowser 的使用方法 请教数据的显示方式 关于字符串的两个问题,请教! 如何对16进制文件内容进行替换 TQrMemo打印时如何自动折行? 主从数据库的问题,急急急 无法定位程序输入点FtpFile于动态链接库 我用dephi自带rport做一个收据打印 一个有关提取图标的问题!(莫非 ExtractAssociatedIcon() 函数有问题? ) 请问这个ZeroMQ.pas文件是一个控件的源代码吗? 关于delphi 与sql手动连接的ini文件的小小疑难问题
Treeview.selected := ATreeNode;
或
newnode:=Treeview.add(oldnode,'new');
Treeview.selected := newnode;
treeview1.Items.Item[0].selected := True;
begin
node:=tv1.Selected;
newNode:=tv1.Items.AddChild(node.Parent,'滑入深渊');
tv1.SetFocus;
newNode.Selected:=True;
end;
平台XE,treeView的个别属性应该和D6、D7不同。注意Node本身的属性来定位,treeView的selected属性定位,需要首先把TreeView来SetFocus;
不调用tv1.SetFocus;,treeview的焦点也在那个节点上
for i:=0 to TreeView1.items.count-1 do
begin
NowNode:=fcTreeView1.items[i];
if NowNode.Data=S then
begin
NowNode.selected;
break;
end;
end;