![]() |
|
Script.NET的树窗口提供了功能强大的Tcl扩展命令,使用这些扩展命令可以通过Tcl脚本来 操作树窗口,Script.NET本身的文件树、工程树等有关的功能就是利用Tcl扩展来写脚本完成的。 用户可以使用这些扩展命令来做自己的应用开发或者对Script.NET进行扩展。 下面会介绍树窗口的扩展命令用法。点击此处可以打开 树窗口操作的演示程序。
下面是用于树页面管理的几个扩展命令:
#------------------------------------------------------------- # WorkTree addtree TreeType TreeName # 功能 : 创建一个工作树 # 参数 : TreeType - 树类型,可用类型如下 # 1)PGI_DEVICE : 设备管理树 # 2)PGI_CLASS : 类管理树 # 3)PGI_RSRC : 资源管理树 # 4)PGI_FILE : 文件管理树 # TreeName - 树的名字 # 返回值: 创建的树的ID,如果已经存在则返回已经存在的树ID #------------------------------------------------------------- # WorkTree closetree -TreeID|TreeName # 功能 : 关闭一个工作树 # 参数 : TreeID/TreeName - 树ID或名字 # 返回值: 无 #------------------------------------------------------------- # WorkTree gettreeid TreeName # 功能 : 根据树名字获取ID # 参数 : TreeName - 树名字 # 返回值: 树的ID #-------------------------------------------------------------
下面是用于树节点操作的几个扩展命令:
#------------------------------------------------------------- # WorkTree additem TreeID hParent ItemName ?-TIM_ITEM|TIM_ID? ?-param(value)...? # 功能 : 创建一个树节点 # 参数 : TreeID - 树ID # hParent - 父节点句柄,ROOT表示要创建根节点 # ItemName - 节点名字 # -TIM_ITEM - 根据父节点句柄来定位 # -TIM_ID - 根据父节点ID来定位 # param(value) - 可选的参数,可用参数如下 # 1)id(value) : 设置节点的ID,value为ID值 # 2)type(value) : 设置节点类型 # 3)state(value) : 设置节点状态 # 4)image(value) : 设置节点图标 # 5)info(value) : 设置节点信息 # 6)dclick(value) : 设置节点双击脚本 # 返回值: 创建的节点的句柄 #------------------------------------------------------------- # WorkTree delitem TreeID id ?-TIM_ITEM|TIM_ID? ?-TIM_CHILDONLY? # 功能 : 删除一个树节点 # 参数 : TreeID - 树ID # id - 节点句柄或ID # -TIM_ITEM - 根据节点句柄来删除(id表示句柄) # -TIM_ID - 根据节点ID来删除(id表示节点ID) # -TIM_CHILDONLY - 只删除所有子节点 # 返回值: 无 #------------------------------------------------------------- # WorkTree getitem info TreeID id ?-TIM_ITEM|TIM_ID? # 功能 : 获取树节点信息 # 参数 : TreeID - 树ID # id - 节点句柄或ID # info - 获取何种信息,可用的有: # name : 节点名 # image : 节点图标 # type : 节点类型 # state : 节点状态 # parent : 父节点句柄 # info : 节点信息 # dclick : 节点双击脚本 # child : 子节点句柄 # -TIM_ITEM - 根据节点句柄来定位 # -TIM_ID - 根据节点ID来定位 # 返回值: 信息值 #------------------------------------------------------------- # WorkTree setitem TreeID id ?-TIM_ITEM|TIM_ID? ?-param(value)? # 功能 : 获取树节点信息 # 参数 : TreeID - 树ID # id - 节点句柄或ID # -TIM_ITEM - 根据节点句柄来定位 # -TIM_ID - 根据节点ID来定位 # param(value) - 可选的参数,可用参数如下 # 1)name(value) : 设置节点名 # 2)type(value) : 设置节点类型 # 3)state(value) : 设置节点状态 # 4)image(value) : 设置节点图标 # 5)info(value) : 设置节点信息 # 6)dclick(value) : 设置节点双击脚本 # 返回值: 信息值 #------------------------------------------------------------- # WorkTree getnextitem TreeID id code ?-TIM_ITEM|TIM_ID? # 功能 : 获取下一个节点的句柄 # 参数 : TreeID - 树ID # id - 节点句柄或ID # code - 操作类型,表示返回的节点和当前节点的关系 # 1)TVGN_CARET : 获取当前选择的节点 # 2)TVGN_CHILD : 获取第一个子节点 # 3)TVGN_DROPHILITE : 获取拖拽操作的目标节点 # 4)TVGN_FIRSTVISIBLE : 获取第一个可见节点 # 5)TVGN_NEXT : 获取下一个兄弟节点 # 6)TVGN_NEXTVISIBLE : 获取下一个可见节点 # 7)TVGN_PARENT : 获取父节点 # 8)TVGN_PREVIOUS : 获取前一个兄弟节点 # 9)TVGN_PREVIOUSVISIBLE: 获取前一个可见节点 # 10)TVGN_ROOT : 获取所在根节点的第一个子节点 # -TIM_ITEM - 根据节点句柄来定位 # -TIM_ID - 根据节点ID来定位 # 返回值: 节点句柄 #------------------------------------------------------------- # WorkTree searchitem TreeID info # 功能 : 根据Info查找节点 # 参数 : TreeID - 树ID # info - 节点Info # 返回值: 查到的节点句柄 #------------------------------------------------------------- # WorkTree expanditem TreeID id ?-TIM_ITEM|TIM_ID? # 功能 : 展开一个树节点 # 参数 : TreeID - 树ID # id - 节点句柄或ID # -TIM_ITEM - 根据节点句柄来定位节点(id表示句柄) # -TIM_ID - 根据节点ID来定位节点(id表示节点ID) # 返回值: 无 #------------------------------------------------------------- # WorkTree collapseitem TreeID id ?-TIM_ITEM|TIM_ID? # 功能 : 收缩一个树节点 # 参数 : TreeID - 树ID # id - 节点句柄或ID # -TIM_ITEM - 根据节点句柄来定位节点(id表示句柄) # -TIM_ID - 根据节点ID来定位节点(id表示节点ID) # 返回值: 无 #------------------------------------------------------------- # WorkTree sortchildren TreeID id ?-TIM_ITEM|TIM_ID? # 功能 : 排序某个节点的子节点 # 参数 : TreeID - 树ID # id - 节点句柄或ID # -TIM_ITEM - 根据节点句柄来定位节点(id表示句柄) # -TIM_ID - 根据节点ID来定位节点(id表示节点ID) # 返回值: 无 #------------------------------------------------------------- # WorkTree setdclickscript TreeID script # 功能 : 设置节点双击脚本 # 参数 : TreeID - 树ID # script - 节点双击时执行的脚本 # 返回值: 无 #-------------------------------------------------------------