增强树形框的问题
请问下,增强树形框 如何枚举项目,或是 取出所有的项目句柄?还有所有的框类的项目数值的数据类型,可以改为 变整数 或是 长整数 吗?
没有现成的枚举方法,只有
这样的方法。。
还有一个叫 取根项目 句柄的,可以取出根项目句柄。
需要自己根据一系列的方法,自行实现枚举所有项目句柄。。
刚才简单试试没搞出来。
不过可以确定的是:
1、需要使用递归算法处理。
2、需要用到“是否有子项目”、“取首子项目”、取后兄弟项目 三个方法 创世魂 发表于 2023-5-2 22:24
刚才简单试试没搞出来。
不过可以确定的是:
1、需要使用递归算法处理。
请问下,可否增加个成员变量,储存项目句柄数组?在 项目 的赋值、加入项目、插入项目、删除项目、清空的时候,顺便更新 项目句柄数组。 sfmf520 发表于 2023-5-2 22:46
请问下,可否增加个成员变量,储存项目句柄数组?在 项目 的赋值、加入项目、插入项目、删除项目、清空的 ...
递归的方法,是不是这样?
<火山程序 类型 = "通常" 版本 = 1 />
方法 增强树形框取句柄组 <公开 静态 类型 = 整数 返回值注释 = "成功返回成员数,失败返回-1。">
参数 强树框 <类型 = 增强树形框>
参数 父项目句柄 <类型 = 变整数 @默认值 = -1>
参数 返回句柄组 <类型 = 变整数数组类>
{
变量 JU句柄 <类型 = 变整数>
<折叠> 如果 (强树框.是否为空 () == 真)
{
返回 (-1)
}
JU句柄 = 强树框.取根项目 ()
如果 (JU句柄 == 0)
{
返回 (0)
}
循环判断首 ()
{
处理事件 ()
如果 (父项目句柄 > 0)
{
JU句柄 = 强树框.取首子项目 (父项目句柄)
}
否则
{
JU句柄 = 强树框.取根项目 ()
}
如果 (JU句柄 > 0)
{
// 调试输出 (JU句柄, 强树框.取项目文本 (JU句柄))
返回句柄组.加入成员 (JU句柄)
如果 (强树框.是否有子项目 (JU句柄) == 真)
{
如果 (增强树形框取句柄组 (强树框, JU句柄, 返回句柄组) < 0)
{
返回 (-1)
}
}
循环判断首 ()
{
处理事件 ()
JU句柄 = 强树框.取后兄弟项目 (JU句柄)
如果 (JU句柄 > 0)
{
// 调试输出 ("兄弟项目", JU句柄, 强树框.取项目文本 (JU句柄))
返回句柄组.加入成员 (JU句柄)
如果 (强树框.是否有子项目 (JU句柄) == 真)
{
如果 (增强树形框取句柄组 (强树框, JU句柄, 返回句柄组) < 0)
{
返回 (-1)
}
}
}
}
循环判断尾 (JU句柄 > 0)
}
}
循环判断尾 (JU句柄 > 0)
返回 (返回句柄组.取成员数 ())
}
https://bbs.voldp.com/thread-18308-1-1.html
页:
[1]