aardio - 树形框插入项目在最前面

关于在树形框中插入项目,很容易实现插入到某项后面,因为库中参数定义的就是插入某项后。

但插入到某项前,实现方法为:

1、如果不是第一项前,只需插入到上一项后面即可。这个不多解释,容易实现,参考下面代码。

2、如果是插入到第一项前,则直接插入到全部子项列表的最前面(第一个)。

这里重点说一下第2条,因为库里没写,所以很多人不会,以为不能实现。

其实很简单,一句代码即可,代码如下:

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add(
treeview={cls="treeview";left=204;top=109;right=499;bottom=314;asel=false;bgcolor=16777215;edge=1;z=1}
)
/*}}*/
winform.show();

//插在最前
a = winform.treeview.insertItem("我是父项1")
a1 = winform.treeview.insertItem("子项1",a)
a2 = winform.treeview.insertItem("子项2,插在父项1的子项的最前面",a,_TVI_FIRST)
b = winform.treeview.insertItem("我是父项2,插在所有父项的最前面",,_TVI_FIRST)

//插在上一项后(请自行判断是否存在上一项,如果不存在上一项则插在最前即可)
var p = winform.treeview.getPrevSibling(a1)
a3 = winform.treeview.insertItem("子项3,插在子项1前(子项2后)",a,p)

win.loopMessage();

效果如下:

当然,还有几种插入方法,可自行研究:

TVI_FIRST

将项目插入列表的开头。

TVI_LAST

将项目插入列表末尾。

TVI_ROOT

将项目添加为根项目。

TVI_SORT

按字母顺序将项目插入列表中。

你可能感兴趣的:(aardio,aardio)