TreeView控件使用教程.docx
- 文档编号:5495613
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:37
- 大小:59.72KB
TreeView控件使用教程.docx
《TreeView控件使用教程.docx》由会员分享,可在线阅读,更多相关《TreeView控件使用教程.docx(37页珍藏版)》请在冰点文库上搜索。
TreeView控件使用教程
TreeView控件使用教程1
1、TreeView控件
TreeView控件显示Node对象的分层列表,每个Node对象均由一个标签与一个可选的位图组成。
TreeView一般用于显示文档标题、索引入口、磁盘上的文件与目录、或能被有效地分层显示的其它种类信息。
语法
Treeview
说明
创建了TreeView控件之后,可以通过设置属性与调用方法对各Node对象进行操作,这些操作包括添加、删除、对齐与其它操作。
可以编程展开与折回Node对象来显示或隐藏所有子节点。
Collapse、Expand与NodeClick三个事件也提供编程功能。
Node对象使用Root、Parent、Child、FirstSibling、Next、Previous与LastSibling属性。
在代码中可通过检索对Node对象的引用,从而在树上定位。
也可以使用键盘定位。
UPARROW键与DOWNARROW键向下循环穿过所有展开的Node对象。
从左到右、从上到下地选择Node对象。
若在树的底部,选择便跳回树的顶部,必要时滚动窗口。
RIGHTARROW键与LEFTARROW键也穿过所有展开的Node对象,但就是如果选择了未展开的Node之后再按RIGHTARROW键,该Node便展开;第二次按该键,选择将移向下一个Node。
相反,若扩展的Node有焦点,这时再按LEFTARROW键,该Node便折回。
如果按下ANSI字符集中的键,焦点将跳转至以那个字母开头的最近的Node。
后续的按该键的动作将使选择向下循环,穿过以那个字母开头的所有展开节点。
控件的外观有八种可用的替换样式,它们就是文本、位图、直线与+/-号的组合,Node对象可以任一种组合出现。
TreeView控件使用由ImageList属性指定的ImageList控件,来存储显示于Node对象的位图与图标。
任何时刻,TreeView控件只能使用一个ImageList。
这意味着,当TreeView控件的Style属性被设置成显示图像的样式时,TreeView控件中每一项的旁边都有一个同样大小的图像。
发行注意TreeView控件就是MSCOMCTL、OCX文件中的一组ActiveX控件的一部分。
为了在应用程序中使用TreeView控件,必须将MSCOMCTL、OCX文件
2、Sorted属性(TreeView控件)
返回或设置一值,此值确定Node对象的子节点就是否按字母顺序排列。
返回或设置一值,此值确定TreeView控件的根层节点就是否按字母顺序排列。
语法
object、Sorted[=boolean]
Sorted属性语法包含下面部分:
部分描述
object对象表达式,其值就是“应用于”列表中的一个对象。
boolean布尔表达式,表示Node对象就是否已被排序如“设置值”中描述。
设置值
boolean的设置值就是:
设置值描述
TrueNode对象根据它们的Text属性按字母顺序排列。
其Text属性由数字开始的Node对象也作为字符串排序,第一个数字确定在排序中的初始位置,后面的数字确定以后的排序。
FalseNode对象不排序。
说明
Sorted属性有两种用法,第一,在TreeView控件的根(顶)层排列Node对象,第二,对任何单个Node对象的立即子节点排序。
例如,下面的代码就是对TreeView控件的根节点排序:
TreeView控件使用教程2
3、EnsureVisible方法
这个方法确保指定的ListItem或Node对象就是可视的。
如果需要,这个方法可展开Node对象并滚动TreeView控件。
该方法仅可滚动ListView控件。
语法
object、EnsureVisible
object所在处代表一个对象表达式,其值就是“应用于”列表中的一个对象。
返回值
值描述
True如果ListView或TreeView控件必须滚动与/或扩展以显露该对象,该方法返回True。
False如果不需滚动与/或展开,该方法返回False。
说明
一个特定的Node或ListItem对象可能深藏于TreeView或ListView控件中,当要使其为可视时,使用EnsureVisible方法。
如果Scroll属性设置为False,则该方法将不会在TreeView控件上起作用。
4、Node对象与Nodes集合
Node对象就是TreeView控件中的一项,它包含图像与文本。
Nodes集合包含一个或多个Node对象。
语法
treeview、Nodes
treeview、Nodes、Item(index)
以上语法行,按照标准集合语法分别引用集合与集合中的单独元素。
treeview对象表达式,其值就是TreeView控件。
index整数或字符串,它唯一地标识Nodes集合的一个成员。
整数就是Index属性的值,字符串就是Key属性的值。
说明
节点可包含文本与图片。
然而,要使用图片,必须用ImageList属性关联一个ImageList控件。
图片可以根据节点的状态而改变;例如,如果将SelectedImage属性设置为来自关联的ImageList的图像,则被选中的节点可拥有与未选中的节点不同的图片。
5、Add方法(Nodes集合)
在Treeview控件的Nodes集合中添加一个Node对象。
语法
object、Add(relative,relationship,key,text,image,selectedimage)
Add方法的语法包含下面部分:
描述
object必需的。
对象表达式,其值就是“应用于”列表中的一个对象
relative可选的。
已存在的Node对象的索引号或键值。
新节点与已存在的节点间的关系,可在下一个参数relationship中找到。
relationship可选的。
指定的Node对象的相对位置,如设置值中所述。
key可选的。
唯一的字符串,可用于用Item方法检索Node。
text必需的。
在Node中出现的字符串。
image可选的。
在关联的ImageList控件中的图像的索引。
selectedimage可选的。
在关联的ImageList控件中的图像的索引,在Node被选中时显示。
设置值
relationship的设置值就是:
TreeView控件使用教程3
6、Root属性(Node对象)
返回对所选Node的根Node对象的引用。
语法
object、Root
object所在处代表就是对象表达式,其值就是“应用于”列表中的对象
说明
Child、FirstSibling、LastSibling、Previous、Parent、Next与Root各属性全将返回对另一个Node对象的引用。
因此,可以同时引用并执行对Node的操作,如下所示:
WithTreeView1、Nodes(x)、Root
、Text="Newtext"
、Key="Newkey"
、SelectedImage=3
EndWith
也可以将对象变量设置为被引用的Node,如下所示:
DimNodRootAsNode
'得到对节点x的根的引用。
SetNodRoot=TreeView1、Nodes(x)、Root
'用此引用执行对根节点的操作。
WithnodRoot
、Text="Newtext"'改变文本。
、Key="Newkey"'改变键。
、SelectedImage=3'改变SelectedIma
7、Parent属性(Node对象)
这个属性返回或设置Node对象的父对象。
仅在运行时可用。
语法
object、Parent[=node]
Parent属性的语法包含下面部分:
部分描述
object对象表达式,其值就是“应用于”列表中的一个对象。
node变成该对象的父对象的Node对象。
说明
在运行时,设置这个属性为一个对象的操作不能搞成一个循环,否则便发生错误。
例如,不能将任何Node设置成为其后代的子Node。
Child、FirstSibling、LastSibling、Previous、Parent、Next与Root属性都返回对另一个Node对象的引用。
所以可以同时引用并执行对一个Node的操作,如下所示:
WithTreeView1、Nodes(x)、Parent
、Text="Newtext"
、Key="Newkey"
、SelectedImage=3
EndWith
也可以将对象变量设置为引用的Node,如下所示:
DimNodParentAsNode
PrivateSubTreeView1_DragDrop(SourceAsControl,xAsSingle,yAsSingle)
'如果用户没移动鼠标,或在无效区释放它。
IfTreeView1、DropHighlightIsNothingThen
indrag=False
ExitSub
Else
'设置被拖动的节点的parent属性为目标节点。
OnErrorGoTocheckerror'阻止循环错误。
SetnodX、Parent=TreeView1、DropHighlight
Cls
PrintTreeView1、DropHighlight、Text&_
"isparentof"&nodX、Text
'释放DropHighlight引用。
SetTreeView1、DropHighlight=Nothing
indrag=False
ExitSub'如未发生错误则退出。
EndIf
checkerror:
'定义表示VisualBasic错误代码的常数。
ConstCircularError=35614
IfErr、Number=CircularErrorThen
DimmsgAsString
msg="Anodecan'tbemadeachildofitsownchildren、"
'显示带有一个感叹号图标
'与“确定”与“取消”按钮的消息框。
IfMsgBox(msg,vbExclamation&vbOKCancel)=vbOKThen
'释放
9、Children属性
这个属性返回包含在Node对象中的各子Node对象的个数。
语法
object、Children
object所在处代表一个对象表达式,其值就是“应用于”列表中的一个对象。
说明
在执行一个影响子节点的操作之前,可用Children属性检查Node对象就是否有子节点。
例如,以下代码在检索第一个Node的Text属性之前,使用Child属性检查子节点的存在。
PrivateSubTreeView1_NodeClick(ByValNodeAsNode)
IfNode、Children>0Then
MsgBoxNode、Child、Text
EndIf
EndSub
Children属性示例
这个例子在TreeView控件中放置几个Node对象。
这组代码检查Node就是否有子节点。
如果有,则显示子节点的文本。
为试用此例,在窗体上安放一个TreeView控件,并在窗体的声明部分中粘贴下面的代码。
运行此例,单击Node对象以选择它,然后单击该窗体来察瞧Node对象的子节点的文本。
OptionExplicit
PrivateSubForm_Click()
DimstrCAsString
DimNAsInteger
IfTreeView1、SelectedItem、Children>0Then'有子节点。
10、FirstSibling属性(Node对象)
这个属性返回对TreeView控件中的Node对象的第一个相邻对象的引用。
语法
object、FirstSibling
object所在处代表一个对象表达式,其值就是“应用于”列表中的一个对象
说明
第一个相邻节点就是出现在一个节点层中第一个位置上的Node。
实际上到底就是哪一个Node出现在第一个位置取决于在那一层上的Node对象就是否被排序,这由Sorted属性确定。
Child、FirstSibling、LastSibling、Previous、Parent、Next与Root属性都返回对另一个Node对象的引用。
所以可以同时引用并执行对一个Node的操作,如下所示:
WithTreeView1、Nodes(x)、FirstSibling
、Text="Newtext"
、Key="Newkey"
、SelectedImage=3
EndWith
也可以将对象变量设置为引用的Node,如下所示:
DimNodFirstSibAsNode
'获取Nodex的第一个相邻节点的引用。
SetNodFirstSib=TreeView1、Nodes(x)、FirstSibling
'使用这个引用执行对第一个相邻Node的操
TreeView控件使用教程4
11、LastSibling属性(Node对象)
这个属性返回对TreeView控件中的Node对象的最后相邻节点的引用。
语法
object、LastSibling
object所在处代表一个对象表达式,其值就是“应用于”列表中的一个对象。
说明
最后的相邻节点就是出现在一个节点层中最后位置上的Node。
实际上哪个Node出现在最后位置上取决于在那一层上的Node就是否被排序,这由Sorted属性所确定。
为了排序同一层上的Node对象,应把Parent节点的Sorted属性设置为True。
请参阅下面的代码:
PrivateSubTreeView1_NodeClick(ByValNodeAsNode)
Node、Parent、Sorted=True
EndSub
Child、FirstSibling、LastSibling、Previous、Parent、Next与Root属性均返回对另一个Node对象的引用。
所以,可以同时引用并执行对一个Node的操作,如下所示:
WithTreeView1、Nodes(x)、LastSibling
、Text="Newtext"
、Key="Newkey"
、SelectedImage=3
EndWith
也可以将对象变量设置为引用的Node,如下所示:
12、Previous属性(Node对象)
返回对Node对象的前一个相邻节点的引用。
语法
object、Previous
object所在处代表一个对象表达式,其值就是“应用于”列表中的一个对象。
说明
Child、FirstSibling、LastSibling、Previous、Parent、Next与Root属性全部返回对另一个Node对象的引用,因此,可以同时引用并执行对Node的操作,如下所示:
WithTreeView1、Nodes(x)、Previous
、Text="Newtext"
、Key="Newkey"
、SelectedImage=3
EndWith
也可以将对象变量设置为引用的Node,如下所示:
DimNodPreviousAsNode
'获得对节点x的前一个相邻节点的引用。
SetNodChild=TreeView1、Nodes(x)、Previous
'用此引用执行对前一个相邻节点的操作。
WithnodPrevious
、Text="Newtext"'改变文本。
、Key="Newkey"'改变键。
、SelectedImage=3'改变
13、Next属性(Node对象)
这个属性返回对TreeView控件的Node对象的下一个相邻Node的引用。
语法
object、Next
object所在处代表一个对象表达式,其值就是“应用于”列表中的一个对象。
说明
Child、FirstSibling、LastSibling、Previous、Parent、Next与Root属性均返回对另一个Node对象的引用。
所以可以同时引用并执行对一个Node的操作,如下所示:
WithTreeView1、Nodes(x)、Child
、Text="Newtext"
、Key="Newkey"
、SelectedImage=3
EndWith
也可以将对象变量设置为引用的Node,如下:
DimNodChildAsNode
'获得对节点x的子节点的引用。
SetNodChild=TreeView1、Nodes(x)、Child
'使用这个引用来执行对子节点的操作。
WithnodChild
、Text="Newtext"'改变文本。
、Key="Newkey"'改变键。
、SelectedImage=3'改变
TreeView控件使用教程5
14、FullPath属性
这个属性返回在TreeView控件中引用的Node对象的完整限定路径。
当赋予该属性为字符串变量时,该字符串被设为具有指定索引的FullPath节点。
语法
object、FullPath
object所在处代表一个对象表达式,其值就是“应用于”列表中的一个对象。
说明
完整限定路径就是引用的Node对象的Text属性中的文本与它的所有前辈的Text属性值的连接。
PathSeparator属性的值确定定界符。
FullPath属性示例
这个例子为TreeView控件添加几个Node对象,并在每个对象被选中时显示其完整限定路径。
为试用此例,要在窗体上安放一个TreeView控件并在窗体的声明部分粘贴该代码。
运行此例,然后选择一个节点,单击窗体显示该Node对象的完整路径。
PrivateSubForm_Load()
DimnodXAsNode
SetnodX=TreeView1、Nodes、Add(,,,"Root")
SetnodX=TreeView1、Nodes、Add(1,tvwChild,,"Dir1")
SetnodX=TreeView1、Nodes、Add(2,tvwChild,,"Dir2")
SetnodX=TreeView1、Nodes、Add(3,tvwChild,,"Dir3")
SetnodX=TreeView1、Nodes、Add(4,tvwChild,,"Dir4")
nodX、EnsureVisible'显示全部节点。
TreeView1、Style=tvwTreelinesText'样式4。
EndSub
15、Selected属性(ActiveX控件)
返回或设置确定一个对象就是否被选中的值。
对于ListItem对象,Selected属性不设置SelectedItem属性,这样就不会使对象被选中。
它仅返回一值,表明就是否已用其它方法选中了ListItem对象。
语法
object、Selected[=boolean]
Selected属性语法包含下面部分:
部分描述
object对象表达式,其值就是“应用于”列表中的一个对象。
boolean布尔表达式,指明对象就是否已被选中。
说明
用Selected属性编程选择指定的Node或Tab对象。
一旦用此法选定了对象,就可对此对象执行各种操作,如设置各种属性及调用各种方法。
为选择指定的Node对象,必须通过它的Index属性或Key属性的值去引用它。
下面的例子就是在TreeView控件中选择指定的Node对象:
PrivateSubCommand1_Click()
TreeView1、Nodes(3)、Selected=True'选择对象。
'用SelectedItem属性得到对该对象的引用。
TreeView1、SelectedItem、Text="ChangedText"
EndSub
在ListView控件中,SelectedItem属性总就是引用第一个选中的项,因此,如多个项被选中,必须遍历所有选中
16、SelectedImage属性
返回或设置在相关的ImageList控件中的ListImage对象的索引值或键值;当Node对象被选中时显示ListImage。
语法
object、SelectedImage[=index]
SelectedImage属性语法包含下面部分:
部分描述
object对象表达式,其值就是“应用于”列表中的一个对象。
index整数或唯一字符串,标识在相关的ImageList控件中的ListImage对象。
整数就是ListImage对象的Index属性的值;字符串就是Key属性的值。
说明
如果这个属性置为Null,则使用由Image属性指定的缺省图形的屏蔽。
17、Expanded属性
这个属性返回或设置一个值,该值确定在TreeView控件中的Node对象当前就是被展开的还就是被折叠的。
语法
object、Expanded[=boolean]
Expanded属性的语法包含下面部分:
部分描述
object对象表达式,其值就是“应用于”列表中的一个对象。
boolea
OrdinalPosition 属性示例
OrdinalPosition属性示例(MDB)
以下示例更改了“产品”表中第一个字段的OrdinalPosition属性设置。
如果在执行这个示例之前与之后检查“数据表视图”中的这个表,那么将会瞧到该过程将“产品ID”字段从第一列移到最后一列。
SubSetPosition()
DimdbsAsDatabase,tdfAsTableDef
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TreeView 控件 使用 教程