Powerbuilder遍历treeview

文章提供了一个使用PowerBuilder实现的测试代码,主要展示了如何使用FindItem函数遍历并处理TREEVIEWITEM。函数会根据不同的导航代码值查找特定类型的项,如子项、父项或可见项。在遍历过程中,代码将数据添加到列表框中,并处理折叠节点的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天写了一个测试代码demo。放这里备份。

主要是使用FindItem函数,指定相应的参数。

 PowerBuilder 实现代码


long hItem ,hRoot,h


hRoot= tv_1.FindItem(ChildTreeItem! 	,iroot )   
do while(hRoot > 0 ) 
	
	TREEVIEWITEM tvi
	hRoot = tv_1.FindItem(NextTreeItem! 	,hRoot )   
	 
	
 if hRoot > 0 then  
	workdata data 
	
	
	tv_1.getitem(hRoot,tvi)   
	
	data = tvi.data
	if data.isdir then 
			lb_1.additem(data.path   )
	else
			lb_1.additem(data.filename   )
	end if 

	if(tvi.children  = true ) then 
		treelist(hRoot)
	end if 
end if 
	
loop 

return 0 

 FindItem

FindItem never finds a collapsed item, except when looking for ChildTreeItem!, which causes an item to expand. CurrentItem! is not changed until after the clicked event occurs. To return the correct handle for the current item when the user clicks it, create a custom event to return the handle and post it in the clicked event.

If navigationcode is RootTreeItem!, FirstVisibleTreeItem!, CurrentTreeItem!, or DropHighlightTreeItem!, set itemhandle to 0. 
The following table shows valid values for the navigationcode argument.

Navigationcode value 	What FindItem finds
RootTreeItem!	The first item at level 1. Returns -1 if no items have been inserted into the control.
NextTreeItem! 	The sibling after itemhandle. A sibling is an item at the same level with the same parent. Returns -1 if there are no more siblings.
PreviousTreeItem!	The sibling before itemhandle. Returns -1 if there are no more siblings.
ParentTreeItem!	The parent of itemhandle. Returns -1 if the item is at level 1.
ChildTreeItem!	The first child of itemhandle. If the item is collapsed, ChildtreeItem! causes the node to expand. Returns -1 if the item has no children or if the item is not populated yet.
FirstVisibleTreeItem!	The first item visible in the control, regardless of level. The position of the scroll bar determines the first visible item.
NextVisibleTreeItem!	The next expanded item after itemhandle, regardless of level. The NextVisible and PreviousVisible values allow you to walk through all the visible children and branches of an expanded node. Returns -1 if the item is the last expanded item in the control.To scroll to an item that is beyond the reach of the visible area of the control, use FindItem and then SelectItem.
PreviousVisibleTreeItem! 	The next expanded item before itemhandle, regardless of level. Returns -1 if the item is the first root item.
CurrentTreeItem!	The selected item. Returns -1 if the control never had focus and nothing has been selected.
DropHighlightTreeItem!	The item whose DropHighlighted property was most recently set. Returns -1 if the property was never set or if it has been set back to false because of other activity in the control.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿峰的编程博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值