首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

treeview添加节点图片有关问题

2012-12-17 
treeview添加节点图片问题[imghttp://hi.csdn.net/attachment/201112/2/8643947_13227874283Fmx.jpg]我设

treeview添加节点图片问题
[img=http://hi.csdn.net/attachment/201112/2/8643947_13227874283Fmx.jpg]我设置所有没有子节点的节点的显示图片[/img]
[最优解释]
主要是设置treeview的picturename[]属性,然后添加节点时,为节点设置PictureIndex和SelectedPictureIndex,但是picturename[]属性在运行过程中无法删除,只能添加,如果你想在运行过程中动态修改图片,只能通过
int li
li = tv_1.AddPicture("图片路径")
来添加图片,然后通过递归遍历所有节点,将child为false的节点的PictureIndex和SelectedPictureIndex动态修改为 li


[其他解释]

引用:
如图设置所有没有子节点的节点lable前面的图片
[其他解释]
太基础了 不想说
[其他解释]
引用:
主要是设置treeview的picturename[]属性,然后添加节点时,为节点设置PictureIndex和SelectedPictureIndex,但是picturename[]属性在运行过程中无法删除,只能添加,如果你想在运行过程中动态修改图片,只能通过
int li
li = tv_1.AddPicture("图片路径")
来添加图片,然后通过递归遍历所有节点,将child为fal……

//cb_1 clecked事件
long ll_handle, ll_level, ll_leveltmp
treeviewitem ltvi_1
ll_handle = il_handle
tv_1.getitem(ll_handle,ltvi_1)
ll_level = ltvi_1.level
ll_leveltmp = ll_level + 1
do while ll_leveltmp > ll_level
    ll_handle = tv_1.finditem(NextVisibleTreeItem! ,ll_handle)
    if ll_handle < 0 then exit
    tv_1.getitem(ll_handle,ltvi_1)
    ll_leveltmp = ltvi_1.level
      if ll_leveltmp > ll_level and ltvi_1.children=false then 
         ltvi_1.pictureindex=2
 messagebox( '', ltvi_1.label )
 
end if
      tv_1.expandall(ll_handle)
loop

这么写怎么不好使啊?
[其他解释]
函数TreeList(long   handle ; treeview tv_tree) 
long   ll_Handle 
Treeviewitem   ltvi_Item 
ll_Handle   =   Tv_Tree.finditem(ChildTreeItem!,handle) 
do   while   ll_Handle   <>   -1 
      Tv_Tree.Getitem(ll_Handle,ltvi_Item) 
      //根据ltvi_Item做相应的操作 
      //ltvi_Item即取出的节点, 
      //ltvi_Item.statepictureindex   节点状态,一般用来区分复选框 
      //ltvi_Item.label   节点标题 
      //ltvi_Item.data   节点创建时存放的数据 
      TreeList(ll_Handle,tv_tree) 
      ll_Handle   =   Tv_Tree.finditem(NextTreeItem!,ll_handle) 
loop 
调用TreeList(0)即可完成整颗树的遍历

[其他解释]
设置完pictureindex后,需要再setitem(ll_handle, ltvi_1)
[其他解释]
f_tree_child_setpic(treeview atv, long al_handle, int ai_pictureindex)  

long ll_Handle  
Treeviewitem ltvi_Item  


ll_Handle = atv.finditem(ChildTreeItem!,al_handle)  
do while ll_Handle <> -1  
    if atv.Getitem(ll_Handle,ltvi_Item) <> 1 then exit //取节点成功,跳出循环
    //开始节点图片变更操作
    if not ltvi_item.child then //该节点没有子节点了
        ltvi_item.pictureindex = ai_pictureindex
        atv.setitem(ll_handle, ltvi_item) //更新节点
    else
        f_tree_child_setpic(atv, ll_handle, ai_pictureindex)  //递归设置该节点的子节点
    end if 
    //当前节点处理完毕,接着处理下一个节点
    ll_Handle = Tv_Tree.finditem(NextTreeItem!,ll_handle)  
loop  


[其他解释]
引用:
C/C++ code
f_tree_child_setpic(treeview atv, long al_handle, int ai_pictureindex)  

long ll_Handle  
Treeviewitem ltvi_Item  
ll_Handle = atv.finditem(ChildTreeItem!,al_handle)  
do while ll_Ha……
al_handle  是什么啊?
[其他解释]
函数里面的参数啊
f_tree_child_setpic(treeview atv, long al_handle, int ai_pictureindex)

热点排行