wf_getchildrenhandle:
parm :long al_handle
returntype : (none)
long ll_handle,ll_childrenthandle,ll_upperbound,ll_nexthandle
treeviewitem ltvi_item
ll_upperbound = upperbound(ii_code)
//本节点
if ll_upperbound = 0 then
ll_upperbound++
ii_code[ll_upperbound] = al_handle
end if
ll_handle = al_handle
//查找子节点
ll_childrenthandle = tv_1.finditem(childtreeitem!,ll_handle)
if ll_childrenthandle > 0 then
ll_upperbound++
ii_code[ll_upperbound] = ll_childrenthandle
tv_1.getitem(ll_childrenthandle,ltvi_item)
//遍历子节点的子节点
wf_getchildrenhandle(ll_childrenthandle)
end if
//如果没有子节点
//最后一个节点的同级节点遍历,执行完后返回上一个父节点遍历同级节点...以此类推
if ihandle <> ll_handle then
ll_nexthandle = tv_1.finditem(NextTreeItem!,ll_handle)
if ll_nexthandle > 0 then
ll_upperbound++
ii_code[ll_upperbound] = ll_nexthandle
end if
do while(ll_nexthandle > 0)
ll_nexthandle = tv_1.finditem(NextTreeItem!,ll_nexthandle)
if ll_nexthandle > 0 then
ll_upperbound++
ii_code[ll_upperbound] = ll_nexthandle
end if
loop
end if
tv_1.getitem(ll_nexthandle,ltvi_item)