PB控件属性之TreeView

本文介绍了PB中TreeView控件的使用,包括其特点、编程示例和常见属性。TreeView控件允许用户以树状结构展示数据,支持展开折叠、拖放操作等。文章通过代码展示了如何添加和管理项目,以及在拖动事件中如何实现限制。此外,还列举了TreeView的多项属性,如Visible、Enabled等,以及TreeViewItem属性,如Bold、Children等,用于自定义控件行为和项目样式。
摘要由CSDN通过智能技术生成

TreeView


【其他】

■TreeView控件可以以树型方式来组织项目,不仅显示直观、界面友好,而且项目的管理和操作更为方便,是当前比较流行的一个控件。
该控件的特点是在较小的空间可以分层次显示大量的数据,并且可以按照用户的要求检索数据。该控件具有以下功能:
通过可以展开或者折叠的节点遍历数据。
图形化和文本化的节点显示。
拖放操作。
包括剪切、复制和粘贴的节点操作。

典型编程
通常TreeView控件用来让用户选择数据,或者进行数据的管理。比如,在一个人事管理软件中,使用部门、姓和名这样的三层结构查找数据就比较容易,而且可以通过拖拉来进行人事单位的变动。
首先,在窗口打开时创建该控件。下面的脚本向TreeView控件中首先添加最高级别的项目:
TreeViewItem ltvi_item
ltvi_item.children = True
ltvi_item.SelectedPictureIndex = 1
ltvi_item.Label = "
餐饮部"
ltvi_item.Data = "
餐饮部
"
ltvi_item.PictureIndex = 1
Tv_1.InsertItemLast(0,ltvi_item)
ltvi_item.Label = "
接待部
"
ltvi_item.Date = "
接待部
"
ltvi_item.PictureIndex = 2
Tv_1.InsertItemLast(0,ltvi_item)

上面的脚本添加所有一级项目,可以反复使用上面的脚本,直到添加完所有的一级项目。因为这些一级项目在程序运行之前就可以确定,所以可以直接添加。对于数据可能要发生变动的,应该从数据库中提取数据,通过循环来添加项目。

下面的脚本在用户开始拖动时判断选中项目是否允许拖动。在部门、姓和名三层结构中,只允许拖动最低一层的数据。所以,在BeginDrag事件中编写如下脚本:
TreeViewItem ltvi_source
If ltvi_source <> 2 Then //
判断用户选中的是否是职工,只能拖动职工
This.Drag(Cancel!)
Else
//
保存被拖动项目和其父项目,语句省略
End If

当用户在可以接收拖动数据的项目上时,应该高亮显示该项目,以给用户一定的操作暗示信息。首先判断当前鼠标所在的项目是否可以接收拖动的数据,如果可以接收则高亮显示该项目。在DragWithin事件中编写如下脚本:
TreeViewItem ltvi_over
If GetItem(handle,ltvi_over) = -1 Then
SetDropHightLight(0)
Return 0
End If

当用户在可以接收拖动数据的项目上释放鼠标时,应该对项目进行一定的处理。通常要删除源数据,并且在释放的目标项目中添加该数据。


【属性】

**TreeView属性
▲Visible
布尔类型,表示该控件是否可见。该属性的缺省值为True

▲Enabled
布尔类型,表示控件是否可用。该属性的缺省值为True

▲EditLabels
布尔类型,表示用户是否可以编辑控件中项目的标签。缺省值为False,不允许用户编辑标签。

▲HasButtons

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值