明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1708|回复: 0

[OpenDCL] 关于OpenDCL控件 Tree Control 的函数测试

[复制链接]
发表于 2013-4-19 17:18 | 显示全部楼层 |阅读模式
本帖最后由 yxp 于 2013-4-19 18:14 编辑

Tree Control 控件操作函数测试,程序捉虫太多,只好先做一些基础测试。

函数: dcl_Tree_GetItemLabel
语法: (dcl_Tree_GetItemLabel xx_xx Item)
参数: Item [as Handle or String]  注: Handle是一个长整数
功能: 返回一个指定项目的标签文本
测试:
  当 Item 参数为 nil 值时,返回的是第一个 parent 项的名称
  当 Item 为 Integer 整数型而没有找到时,返回的是空字符串""
  当 Item 为 Str 字符型而没找到时,返回的是 nil
结果: 返回值结果还算正常

函数: dcl_Tree_GetItemHandle
语法: (dcl_Tree_GetItemHandle xx_xx Item)
参数: Item [as String]
功能: 按 opendcl 的解释应该是根据一个项的名称 Item 返回该项的句柄,很有用的功能
测试: 返回值总是为 nil
结果: 这个函数基本是废的

函数: dcl_Tree_GetItemKey
语法: (dcl_Tree_GetItemKey xx_xx Item)
参数: Item [as Handle]
功能: 根据项目句柄,返回该项的 key
返回值: String
测试: 返回值总是为 nil
测试结果同上,估计都是作者未完善的函数。

函数: dcl_Tree_GetNextVisibleItem
语法: (dcl_Tree_GetNextVisibleItem xx_xx Item)
参数: Item [as Handle or String]
功能: 返回一个 Item 项的下一个可见项的句柄
测试:
  当参数 Item 为 nil 时,返回第二个父节点的句柄
  当参数 Item 未找到时,仍然返回第二个父节点句柄(这个错误会比较隐藏与nil是两码事)
结果: 还行。


函数: dcl_Tree_GetFirstChildItem
语法: (dcl_Tree_GetFirstChildItem xx_xx ParentItem)
参数: ParentItem [as Handle or String]
功能: 返回一个父节点 ParentItem 的第一个子节点的句柄 Handle or String
测试:
  当参数 ParentItem 未找到或为 nil 值时,总是返回第一个父节点的第一个子节点"1.1"
  当"1.1"不存在时,返回第一个父节点,比较怪异,并不是返回 nil
  用 GetRootItem 获得的 Item 对 GetFirstChildItem 无效,视为 nil 值。
结果: 基本正常


真累啊,有时间再继续,不知道有高手用过的没,帮忙看看,是不是我的ODCL版本有问题。
总之,这些函数的返回值极不稳定,依赖它们对程序操作有些不靠谱。
原本目的是想弄一个类似图纸集的东西,只有两级管理,一级节点是项目、二级节点是专业.

另外 dcl_tree_getitemtext 函数对 Tree 控件是没有的,但是 odcl 自带例子里偏偏有。
难怪明总也不翻译ODCL了,这就是一个半成品,没前途啊。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-19 18:07 , Processed in 0.448738 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表