TreeView控件常用操作

  ///  
  //函数名:of_tv_findITem  
  //功     能:根据data或label值查找节点位置,通过树的深度优先算法来实现 
  //参     数:treeview   -   tv_tree   进行操作的TreeView  
  //              boolean    -   findby     True-根据data查找;False-根据label查找  
  //              string        -   data       要查找的label或data的值  
  //返回值: long         -   找到的handle,没找到返回0   出错返回-1
  long                 ll_hdl[]  
  integer             li_cnt  
  treeviewITem   lt_tvi  
   
  li_cnt   =   1  

  //当前节点CurrentTreeITem!,   全部节点RootTreeITem!,   
  ll_hdl[1]   =   tv_tree.FindItem(RootTreeITem!,   0)    
  do   while   li_cnt   >   0  
        if   tv_tree.GetITem(ll_hdl[li_cnt],   lt_tvi)   =   -1   then   return   -1  
        if   ll_hdl[1]   <>   ll_hdl[li_cnt]   then  
              if   findby   then  
                    if   string(lt_tvi.data)   =   data   then   return   ll_hdl[li_cnt]  
              else          
                    if   string(lt_tvi.label)   =   data   then   return   ll_hdl[li_cnt]  
              end   if  
        end   if  


        if   lt_tvi.children   then  
              li_cnt   ++  
              ll_hdl[li_cnt]   =   tv_tree.FindItem(ChildTreeITem!,   ll_hdl[li_cnt   -   1])  
        else  
              ll_hdl[li_cnt]   =   tv_tree.FindItem(NextTreeITem!,   ll_hdl[li_cnt])  
        end   if  


        do   while   ll_hdl[li_cnt]   <=   0  
              li_cnt   --  
              if   li_cnt   =   0   then   exIT  
              ll_hdl[li_cnt]   =   tv_tree.FindItem(NextTreeITem!,   ll_hdl[li_cnt])  
        loop  
  loop 
 
  return   0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值