关于OpenDCL控件 Tree Control 的函数测试
本帖最后由 yxp 于 2013-4-19 18:14 编辑Tree Control 控件操作函数测试,程序捉虫太多,只好先做一些基础测试。
函数: dcl_Tree_GetItemLabel
语法: (dcl_Tree_GetItemLabel xx_xx Item)
参数: Item 注: Handle是一个长整数
功能: 返回一个指定项目的标签文本
测试:
当 Item 参数为 nil 值时,返回的是第一个 parent 项的名称
当 Item 为 Integer 整数型而没有找到时,返回的是空字符串""
当 Item 为 Str 字符型而没找到时,返回的是 nil
结果: 返回值结果还算正常
函数: dcl_Tree_GetItemHandle
语法: (dcl_Tree_GetItemHandle xx_xx Item)
参数: Item
功能: 按 opendcl 的解释应该是根据一个项的名称 Item 返回该项的句柄,很有用的功能
测试: 返回值总是为 nil
结果: 这个函数基本是废的
函数: dcl_Tree_GetItemKey
语法: (dcl_Tree_GetItemKey xx_xx Item)
参数: Item
功能: 根据项目句柄,返回该项的 key
返回值: String
测试: 返回值总是为 nil
测试结果同上,估计都是作者未完善的函数。
函数: dcl_Tree_GetNextVisibleItem
语法: (dcl_Tree_GetNextVisibleItem xx_xx Item)
参数: Item
功能: 返回一个 Item 项的下一个可见项的句柄
测试:
当参数 Item 为 nil 时,返回第二个父节点的句柄
当参数 Item 未找到时,仍然返回第二个父节点句柄(这个错误会比较隐藏与nil是两码事)
结果: 还行。
函数: dcl_Tree_GetFirstChildItem
语法: (dcl_Tree_GetFirstChildItem xx_xx ParentItem)
参数: ParentItem
功能: 返回一个父节点 ParentItem 的第一个子节点的句柄 Handle or String
测试:
当参数 ParentItem 未找到或为 nil 值时,总是返回第一个父节点的第一个子节点"1.1"。
当"1.1"不存在时,返回第一个父节点,比较怪异,并不是返回 nil
用 GetRootItem 获得的 Item 对 GetFirstChildItem 无效,视为 nil 值。
结果: 基本正常
真累啊,有时间再继续,不知道有高手用过的没,帮忙看看,是不是我的ODCL版本有问题。
总之,这些函数的返回值极不稳定,依赖它们对程序操作有些不靠谱。
原本目的是想弄一个类似图纸集的东西,只有两级管理,一级节点是项目、二级节点是专业.
另外 dcl_tree_getitemtext 函数对 Tree 控件是没有的,但是 odcl 自带例子里偏偏有。
难怪明总也不翻译ODCL了,这就是一个半成品,没前途啊。
页:
[1]