展开树形控件atv第ai_s到ai_e层得节点,其他层得节点收起

//====================================================================
// 函数: f_expand()
//--------------------------------------------------------------------
// 描述: 展开树形控件atv第ai_s到ai_e层得节点,其他层得节点收起
//--------------------------------------------------------------------
// 参数:
//     value    treeview    atv       源树形控件
//     value    long        al_h      当前节点句柄
//     value    integer     ai_now    当前节点所处的层数
//     value    integer     ai_s      要展开的起始层数
//     value    integer     ai_e      要展开的结束层数
//--------------------------------------------------------------------
// 返回:  (none)
//--------------------------------------------------------------------
// 作者:            日期: 2011.04.08
//====================================================================
//传入的节点无效,则返回
if al_h < 1 then return
long ll_h
if ai_now >= ai_s and ai_now <= ai_e then //当前节点所处层数,介于需要展开的层数之间,则展开当前节点
    atv.expanditem(al_h)
else //其他的收起
    atv.CollapseItem(al_h)
end
if
ai_now
++ //开始遍历子节点,节点层数加1
ll_h = atv.finditem(ChildTreeItem!, al_h)
do while ll_h > 0
    f_expand(atv, ll_h, ai_now, ai_s, ai_e)
    ll_h
= atv.finditem(NextTreeItem!, ll_h)
loop




比如要展开第1到第三层,则这样调用:

    
    
    
    
f_expand(tv_1, tv_1.finditem(rootTreeItem ! , 0 ), 1 , 1 , 3 )

你可能感兴趣的:(Integer)