请问:如何在 treeview 的根节点增加一个子节点?多谢

请问:如何在 treeview 的根节点增加一个子节点?多谢,第1张

使添加的字节点的 data 为 ‘123’

得到 imagelist 中的图片的 第二个图片

单击 button2,则在选中的节点上添加一个子节点

使添加的字节点的 data 为 ‘456’

得到 imagelist 中的图片的 第三个图片

(如果选中的是根节点,则不添加)

TTreeview.items.addchild(parent:TTreenodecaption:string)

第一个参数是指新节点的父节点,当为NIL时,增加一个根节点;当指定了某个已有节点时,新增的节点就是指定节点的子节点。

第二个参数是新增节点的标签名称

原因很明显,当有新增的节点,Items已经发生了改变,所以你的items[x]是一个变量而非常量。

一个最笨的办法就是,在没有添加任何子节点前,把节点用StaticNodes:array of TTreeNode数组保存起来,然后再通过StaticNodes[x].AddChild进行添加。

如果想动态一点就得加一个搜索功能(TreeView控件并没有附带节点搜索功能),你添加子节点前得手动查询到父节点。

以下是一个比较简单的方法:

function FindNodeByText(aTree:TTreeViewtheTexts:String):TTreeNode

var

i:Integer

begin

Result:=NIL

for i:=0 to aTree.Items.Count-1 do

if aTree.Items[i].Text=theTexts then

begin

Result:=aTree.Items[i]

Break

end

end

查询的方法有很多更有效率的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11747628.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存