//====================================================================
// 函数: 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)