//////////////////////////////////////////////////////////////////////////////
//
// 函数: of_deselectall
//
// 属性: public
//
// 参数: long al_handle
//
// 返回: integer
//
// 功能:
// 如果是子节点,选择本级节点下的所有子节点~
//
//////////////////////////////////////////////////////////////////////////////
//声明
long ll_hdl[]
long ll_parent
long ll_handle
integer li_cnt
boolean lb_result
treeviewitem lt_tvi
string label
li_cnt = 1
ll_hdl[1] = al_handle
if GetItem(ll_hdl[li_cnt], lt_tvi) = -1 then return -1
if not lt_tvi.children then
return 1
end if
do while li_cnt > 0
if GetItem(ll_hdl[li_cnt], lt_tvi) = -1 then return -1
//代码
//写判断
if lt_tvi.children then
li_cnt ++
ll_hdl[li_cnt] = FindItem(ChildTreeItem!, ll_hdl[li_cnt - 1])
else
ll_hdl[li_cnt] = 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] = FindItem(NextTreeItem!, ll_hdl[li_cnt])
if ll_hdl[li_cnt] = -1 then CONTINUE
lb_result = false
ll_handle = ll_hdl[li_cnt]
ll_parent = FindItem(ParentTreeItem!,ll_handle)
DO UNTIL ll_parent = FindItem(RootTreeItem!, 0)
if al_handle = ll_parent then
lb_result = true
end if
ll_handle = ll_parent
ll_parent = FindItem(ParentTreeItem!,ll_handle)
loop
if lb_result = true then
CONTINUE
else
li_cnt = 0
exit
end if
loop
loop
return 0