关于在树形框中插入项目,很容易实现插入到某项后面,因为库中参数定义的就是插入某项后。
但插入到某项前,实现方法为:
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 | 按字母顺序将项目插入列表中。 |