hur.cn - 华软网

 热门搜索

怎么初始化 TREEVIEWITEM呀。内详

  作者:未知    来源:网络    更新时间:2018/1/1
我定义了
treeviewtitem tvi_current

在程序中 
tv_1.getitem(handle,tvi_current)
......
tv_1.setitem(handle,tvi_current)

接下来我要插入树节点
tvi_current.label = '树'
tv_1.insertitemlast(handle,tvi_current)
这个时候我发现tvi_current的其他属性都是上次getitem的属性。
怎么样才能清掉这些属性呢,也就是初始化这个tvi_current


------华软网友回答------
对treeview不是很熟
如果直接插入可以
treeviewtitem tvi_current
tvi_current.属性 =
....
tv_1.insertitemlast(handle,tvi_current)

handle为你指定treeviewitem的handle
------华软网友回复------
to  lzheng2001(1加1=0)

您可能没有理解我的意思,我是说在getitem后,再怎么清除这个tvi_current的属性,让他恢复刚申明的时候的状态。

------华软网友回复------
treeviewitem l_tvi
long ll_tvi
ll_tvi = tv_list.FindItem(CurrentTreeItem! , 0)
tv_list.GetItem(ll_tvi , l_tvi)
l_tvi.PictureIndex = 5
l_tvi.SelectedPictureIndex = 5
tv_list.SetItem( ll_tvi, l_tvi )

得到treeviewtitem后需要先对treeviewtitem的属性赋值,然后更改设置,TVI中的常用属性不是很多,你可查看PB联机帮助!应该没有问题!


------华软网友回复------
你上次得到了TreeViewItem以后,tvi_current变量当然还保留原来的属性
如果本次插入的节点属性与上次的无关,可以定义另外一个变量:
TreeViewItem ltvi_item

ltvi_item.Lavel = "" //显示值
ltvi_item.PictureIndex=1 //图片索引(图片在tv中指定)
ltvi_item.SelectedPictureIndex=1(选择图片索引)

象上面这样定义了以后再插入节点
tv_1.InsertItemLast(handle,ltvi_item)

------华软网友回复------
难道没有办法初始化ltvi_item???
------华软网友回复------
treeviewtitem tvi_current //这样已经初始化了,你还想怎样?
------华软网友回复------
难到你的treeview中有100个节点,你就定义100个变量?
本来初始化的时候,也就是定义一个treeviewitem变量,之后修改它的属性
把所有的节点都通过这个变量添加上去的啊!
------华软网友回复------
对呀,我就是77的意思呀. 是不是我这样
for i = 1 to 100
   treeviewtitem  tvi_current  
   tv_1.getitem(i,tvi_current)  
   ......  
   tv_1.setitem(i,tvi_current)  
next

------华软网友回复------
这个时候我发现tvi_current的其他属性都是上次getitem的属性。
怎么样才能清掉这些属性呢

你是指什么属性啊?难道不好通过代码修改吗?
------华软网友回复------
我想楼主是误会了getitem/setitem以及InsertItem的用法
前两个是用来获得和修改树中已有的节点的方法,获得或是设置的节点就是第二个参数(treeviewitem类型的)
后者是只负责将节点类型的变量添加到树的指定位置中去
打个比方
你在一棵树上摘下一朵花,这是getitem
你把这朵花涂成绿色
然后重新插到原来的位置,这是setitem
你把自己篮子里的花,插到你想要放到的位置上,这是InsertItem

注意getitem和setitem是成对使用的!
一般是修改已有树中的节点时用到的.

如果一棵树在初始化的时候,你只要使用InsertItem就行了
定义一个TreeviewItem的变量,对该对象的属性进行设置,
完了之后用insertitem系列的方法,把你设好的变量,加入到树的指定位置
具体的方法有:
treeviewname.InsertItem ( handleparent, handleafter, item )
treeviewname.InsertItemLast ( handleparent, item )
treeviewname.InsertItemFirst ( handleparent, item )
treeviewname.InsertItemSort ( handleparent, item )
之后你可以重复使用这个变量,设置它的属性,直至构建好你的整棵树.

这样说,明白了吧?!

还不行?去,回家种树去!
^_^      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。