好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

TreeView控件使用教程.doc

52页
  • 卖家[上传人]:cl****1
  • 文档编号:385207573
  • 上传时间:2023-06-29
  • 文档格式:DOC
  • 文档大小:124KB
  • / 52 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • TreeView控件使用教程11. TreeView 控件 TreeView 控件显示 Node 对象的分层列表,每个 Node 对象均由一个标签和一个可选的位图组成TreeView 一般用于显示文档标题、索引入口、磁盘上的文件和目录、或能被有效地分层显示的其它种类信息语法Treeview说明创建了 TreeView 控件之后,可以通过设置属性与调用方法对各 Node 对象进行操作,这些操作包括添加、删除、对齐和其它操作可以编程展开与折回 Node 对象来显示或隐藏所有子节点Collapse、E*pand 和 NodeClick 三个事件也提供编程功能Node 对象使用 Root、Parent、Child、FirstSibling、Ne*t、Previous 和 LastSibling 属性在代码中可通过检索对 Node 对象的引用,从而在树上定位也可以使用键盘定位UP ARROW 键和 DOWN ARROW 键向下循环穿过所有展开的 Node 对象从左到右、从上到下地选择 Node 对象若在树的底部,选择便跳回树的顶部,必要时滚动窗口RIGHT ARROW 键和 LEFT ARROW 键也穿过所有展开的 Node 对象,但是如果选择了未展开的 Node之后再按 RIGHT ARROW 键,该 Node 便展开;第二次按该键,选择将移向下一个 Node。

      相反,若扩展的 Node 有焦点,这时再按 LEFT ARROW 键,该 Node 便折回如果按下 ANSI 字符集 中的键,焦点将跳转至以那个字母开头的最近的 Node后续的按该键的动作将使选择向下循环,穿过以那个字母开头的所有展开节点控件的外观有八种可用的替换样式,它们是文本、位图、直线和 +/- 号的组合,Node 对象可以任一种组合出现TreeView 控件使用由 ImageList 属性指定的 ImageList 控件,来存储显示于 Node 对象的位图和图标任何时刻,TreeView 控件只能使用一个 ImageList这意味着,当 TreeView 控件的 Style 属性被设置成显示图像的样式时,TreeView 控件中每一项的旁边都有一个同样大小的图像发行注意 TreeView 控件是 MSCTL.OC* 文件中的一组 Active* 控件的一部分为了在应用程序中使用 TreeView 控件,必须将 MSCTL.OC* 文件2. Sorted 属性(TreeView 控件) 返回或设置一值,此值确定 Node 对象的子节点是否按字母顺序排列返回或设置一值,此值确定 TreeView 控件的根层节点是否按字母顺序排列。

      语法object.Sorted [ = boolean]Sorted 属性语法包含下面部分:部分 描述 object 对象表达式,其值是“应用于”列表中的一个对象 boolean 布尔表达式,表示 Node 对象是否已被排序如“设置值”中描述 设置值boolean 的设置值是:设置值 描述 True Node 对象根据它们的 Te*t 属性按字母顺序排列其 Te*t 属性由数字开始的 Node 对象也作为字符串排序,第一个数字确定在排序中的初始位置,后面的数字确定以后的排序 False Node 对象不排序 说明Sorted 属性有两种用法,第一,在 TreeView 控件的根(顶)层排列 Node 对象,第二,对任何单个 Node 对象的立即子节点排序例如,下面的代码是对 TreeView 控件的根节点排序: TreeView控件使用教程23. EnsureVisible 方法 这个方法确保指定的 ListItem 或 Node 对象是可视的如果需要,这个方法可展开 Node 对象并滚动 TreeView 控件该方法仅可滚动 ListView 控件语法object.EnsureVisibleobject 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。

      返回值值 描述 True 如果 ListView 或 TreeView 控件必须滚动与/或扩展以显露该对象,该方法返回 True False 如果不需滚动与/或展开,该方法返回 False 说明一个特定的 Node 或 ListItem 对象可能深藏于 TreeView 或 ListView 控件中,当要使其为可视时,使用 EnsureVisible 方法如果 Scroll 属性设置为 False,则该方法将不会在 TreeView 控件上起作用 4. Node 对象和 Nodes 集合Node 对象是 TreeView 控件中的一项,它包含图像和文本Nodes 集合包含一个或多个 Node 对象 语法treeview.Nodestreeview.Nodes.Item(inde*)以上语法行,按照标准集合语法分别引用集合与集合中的单独元素treeview 对象表达式,其值是 TreeView 控件 inde* 整数或字符串,它唯一地标识 Nodes 集合的一个成员整数是 Inde* 属性的值,字符串是 Key 属性的值 说明节点可包含文本和图片然而,要使用图片,必须用 ImageList 属性关联一个 ImageList 控件。

      图片可以根据节点的状态而改变;例如,如果将 SelectedImage 属性设置为来自关联的 ImageList 的图像,则被选中的节点可拥有与未选中的节点不同的图片5. Add 方法(Nodes 集合) 在 Treeview 控件的 Nodes 集合中添加一个 Node 对象语法object.Add(relative, relationship, key, te*t, image, selectedimage)Add 方法的语法包含下面部分:描述 object 必需的对象表达式,其值是“应用于”列表中的一个对象 relative 可选的已存在的 Node 对象的索引号或键值新节点与已存在的节点间的关系,可在下一个参数 relationship 中找到 relationship 可选的指定的 Node 对象的相对位置,如设置值中所述 key 可选的唯一的字符串,可用于用 Item 方法检索 Node te*t 必需的在 Node 中出现的字符串 image 可选的在关联的 ImageList 控件中的图像的索引 selectedimage 可选的在关联的 ImageList 控件中的图像的索引,在 Node 被选中时显示。

      设置值relationship 的设置值是:TreeView控件使用教程36. Root 属性(Node 对象) 返回对所选 Node 的根 Node 对象的引用语法object.Rootobject 所在处代表是对象表达式,其值是“应用于”列表中的对象说明Child、FirstSibling、LastSibling、Previous、Parent、Ne*t 和 Root 各属性全将返回对另一个 Node 对象的引用因此,可以同时引用并执行对 Node 的操作,如下所示:With TreeView1.Nodes(*).Root.Te*t = "New te*t".Key = "New key".SelectedImage = 3End With也可以将对象变量设置为被引用的 Node,如下所示:Dim NodRoot As Node'得到对节点 * 的根的引用Set NodRoot = TreeView1.Nodes(*).Root'用此引用执行对根节点的操作With nodRoot.Te*t = "New te*t" '改变文本Key = "New key" '改变键SelectedImage = 3 '改变 SelectedIma 7. Parent 属性(Node 对象) 这个属性返回或设置 Node 对象的父对象。

      仅在运行时可用语法object.Parent[ = node]Parent 属性的语法包含下面部分:部分 描述 object 对象表达式,其值是“应用于”列表中的一个对象 node 变成该对象的父对象的 Node 对象 说明在运行时,设置这个属性为一个对象的操作不能搞成一个循环,否则便发生错误例如,不能将任何 Node 设置成为其后代的子 NodeChild、FirstSibling、LastSibling、Previous、Parent、Ne*t 和 Root 属性都返回对另一个 Node 对象的引用所以可以同时引用并执行对一个 Node 的操作,如下所示:With TreeView1.Nodes(*).Parent.Te*t = "New te*t".Key = "New key".SelectedImage = 3End With也可以将对象变量设置为引用的 Node,如下所示:Dim NodParent As NodePrivate Sub TreeView1_DragDrop(Source As Control, * As Single, y As Single)'如果用户没移动鼠标,或在无效区释放它。

      If TreeView1.DropHighlight Is Nothing Thenindrag = FalseE*it SubElse'设置被拖动的节点的 parent 属性为目标节点On Error GoTo checkerror '阻止循环错误Set nod*.Parent = TreeView1.DropHighlightClsPrint TreeView1.DropHighlight.Te*t & _" is parent of " & nod*.Te*t'释放 DropHighlight 引用Set TreeView1.DropHighlight = Nothingindrag = FalseE*it Sub '如未发生错误则退出End Ifcheckerror:'定义表示 Visual Basic 错误代码的常数Const CircularError = 35614If Err.Number = CircularError ThenDim msg As Stringmsg = "A node can't be made a child of its own children."'显示带有一个感叹号图标'和“确定”与“取消”按钮的消息框。

      If MsgBo*(msg, vbE*clamation & vbOKCancel) = vbOK Then'释放9. Children 属性 这个属性返回包含在 Node 对象中的各子 Node 对象的个数语法object.Childrenobject 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象说明在执行一个影响子节点的操作之前,可用 Children 属性检查 Node 对象是否有子节点例如,以下代码在检索第一个 Node 的 Te*t 属性之前,使用 Child 属性检查子节点的存在Private Sub TreeView1_NodeClick(ByVal Node As Node)If Node。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.