您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 开发专栏 > VB开发 > 正文


-“QQ”的传奇
-Wrapper和xinetd的实现(二)
-色彩系列教程(1):基础知识
-网络浏览过滤软件

VB6.0设计真正实用的TreeView控件
2003-04-07· ·东方欲晓··yesky

1 2 3  下一页


  [摘要:]在实际开发中,许多人不喜欢使用TreeView,主要是由于默认的TreeView是“只读”的,不支持添加、删除、编辑、调整节点位置等操作。本文通过一个TVEdit工程说明如何解决这些问题。

  TreeView是最灵活的Windows控件之一,它以分层的形式显示数据,允许用户随意扩展或折叠节点。鉴于实际生活中许多事物有着层次关系,如计算机里的文件夹、人事组织关系、地区从属关系等,TreeView的应用也极其广泛。但在实际开发中,许多人不喜欢使用TreeView,主要是由于默认的TreeView是“只读”的,不支持添加、删除、编辑、调整节点位置等操作。本文将通过一个TVEdit工程说明如何解决这些问题。

  TVEdit工程(图一)允许在运行时生成节点数据、编辑节点标签、通过拖放操作改变节点的位置,以及将TreeView的数据保存到XML文件或从XML文件读取。


             图一

  一、规划键击事件

  修改用户界面控件的默认行为不仅要考虑到用户如何通过鼠标访问新的控件功能,而且还要允许用户使用键盘操作。TreeView默认支持下列键击事件:

   ▲ 上下两个箭头键移动光标(变换当前被选中的节点)。

   ▲ 左右箭头键除了变换当前被选中的节点之外,兼具扩展/折叠节点功能。

   ▲ Enter键扩展或折叠节点。

  TVEdit工程不改变这些默认的键击行为。但由于TreeView默认的键击事件不允许用户编辑其内容,所以我们要另外添加几个事件:

   ▲ 按Insert键在当前选中的节点之下插入一个新的节点。如果要添加一个新的根节点,按Ctrl+Insert键。用户按下Insert键之后,控件自动进入编辑状态,再按Enter键可退出编辑状态,控件自动选中父节点,以便用户只需按一下Insert键就可以在同一父节点之下插入新节点。

   ▲ 按Space键(或鼠标停留较长时间)使当前选中的节点进入编辑状态(也许有的人更乐意用Enter键进入编辑状态,但TreeView控件已经定义了Enter键的默认行为,所以这里不再用它)。

   ▲ 按Delete键删除当前选中的节点。如果被删除的节点包含子节点,所有子节点也被同时删除。

   ▲ 用鼠标拖放节点可改变节点在TreeView分层结构中的位置。如果被拖动的节点包含子节点,所有子节点也将被移动。

1 2 3  下一页

【责任编辑:方舟】
【发表评论】【关闭窗口】
■ 相关内容
 优化之路:精简VB中的分段应用程序(上)
 VB环境下Video/Audio压缩数据流播放技术
 优化之路:精简VB程序的代码
 Flash 5与VB 6的TCP实时通信法
 利用VB驱动pcAnyWhere进行自动文件传输
 用VB实现窗口图标最小化到通知栏
 VB6实现局域网多站点互连完全手册
 用简单的VBA实现Excel表格计算
 FSO对象模型在VB中的应用
 如何编写高质量的VB代码
 在Visual Basic 6.0中操纵XML文件
 用VB设计有安全认证服务的Email
 VB串口使用心得两则
 在VB下实现无线通信的方法
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!