递归火山软件开发平台
标题:
[传感器-易语言转火山系列分享] 增强树形框多级枚举和收缩
[打印本页]
作者:
传感器
时间:
昨天 20:52
标题:
[传感器-易语言转火山系列分享] 增强树形框多级枚举和收缩
本帖最后由 传感器 于 2025-11-20 21:18 编辑
十年易语言转火山,通过项目直接转换进行学习,有心得会以帖子的标题做系列,进行分享交流,实践证明我这样做很对,刚上手连怎么新建窗口都不知道,现在通过项目边转换边学习,才几天就可以顺利开展易语言项目转火山的工作了。
早上刚开始接触火山增强树形框,很懵,不知道句柄怎么玩,看论坛也有很多人在问,尤其是枚举所有的句柄,因为后面所有的命令都是以此作为基础,我需要的是窗口首次激活,将设置的几十个项目进行收缩,所以下午写好了就想着分享,老手不用看,新手可以参考。
我已经将每一行命令的编程逻辑,写得很清楚,方便新手在直接抄的基础上,还可以懂得为什么这样做,授人以鱼不如授人以渔。理论上这样可以无限套娃,如果你们有几个树形框,可以改成方法,然后投递参数进行调用,也可以多设置几个参数,这样一个方法就可以实现多个树形框多种操作。
<火山程序 类型 = "通常" 版本 = 1 />
方法 窗口_主窗口_首次激活 <接收事件 类型 = 整数 注释 = "当窗口创建完毕后被首次激活显示时发送此事件,在接收到此事件后用户可以开始在窗口内的画板组件上写出内容.">
参数 来源对象 <类型 = 窗口_主窗口 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用"挂接事件"命令时所提供的"标记值"参数值,非此方式挂接事件则本参数值固定为0.">
{
变量 一级项目句柄 <类型 = 变整数 注释 = "第一层">
变量 二级项目句柄 <类型 = 变整数 注释 = "第二层,理论上可无限">
一级项目句柄 = 树形框_导航.取根项目 () //先获取根据路,就是第一个一级项目的句柄,以此作为起点
计次循环 (100) //这里根据实际情况修改,多改点没关系,下面已设置没有项目时跳出循环
{
树形框_导航.收缩 (一级项目句柄) //将第一个收缩
调试输出 (一级项目句柄, 树形框_导航.取项目文本 (一级项目句柄))
如果真 (树形框_导航.是否有子项目 (一级项目句柄)) //判断一级句柄是否有子项目,没有就检查下一个一级句柄
{
二级项目句柄 = 树形框_导航.取首子项目 (一级项目句柄) // 获取一级句柄下的第一个二级句柄,原理和刚才的树形框_导航.取根项目 ()相同
树形框_导航.收缩 (二级项目句柄) // 接下来就是循环的操作,其实就是套娃,一层又一层,所以理论上是可以无限,但是一般缩两层就够了
计次循环 (100) //这里根据实际情况修改,多改点没关系,下面已设置没有项目时跳出循环
{
二级项目句柄 = 树形框_导航.取后兄弟项目 (二级项目句柄)
树形框_导航.收缩 (二级项目句柄)
// 调试输出 (树形框_导航.取项目文本 (二级项目句柄))
调试输出 (二级项目句柄, 树形框_导航.取项目文本 (二级项目句柄))
如果真 (二级项目句柄 == 0)
{
跳出循环
}
}
}
一级项目句柄 = 树形框_导航.取后兄弟项目 (一级项目句柄)
如果真 (一级项目句柄 == 0)
{
跳出循环
}
}
返回 (0)
一级项目句柄 = 树形框_导航.取根项目 ()
树形框_导航.收缩 (一级项目句柄)
树形框_导航.取首子项目 ()
计次循环 (树形框_导航.取项目数 ())
{
一级项目句柄 = 树形框_导航.取后兄弟项目 (一级项目句柄)
树形框_导航.收缩 (一级项目句柄)
如果真 (一级项目句柄 == 0)
{
跳出循环
}
调试输出 (一级项目句柄)
}
返回 (0)
调试输出 (一级项目句柄, 树形框_导航.取后兄弟项目 (一级项目句柄))
返回 (0)
返回 (0)
如果真 (树形框_导航.是否有子项目 (一级项目句柄))
{
树形框_导航.收缩 (一级项目句柄)
}
// 返回 (0)
计次循环 (树形框_导航.取项目数 ())
{
树形框_导航.现行选中项 = 取循环索引 ()
调试输出 (树形框_导航.现行选中项)
// result = 树形框_导航.取父项目 (取循环索引 ())
// 调试输出 (result)
// 如果真 (树形框_导航.取父项目 (取循环索引 () - 1) == -1)
{
// // 树形框_导航.
树形框_导航.收缩 (取循环索引 () - 1)
}
}
返回 (0)
}
复制代码
作者:
神之一手
时间:
昨天 21:20
不明觉厉
作者:
numbersir
时间:
昨天 22:38
這個點讚
作者:
chenfeng0614
时间:
9 分钟前
不错顶一个
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4