递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 5163|回复: 6
打印 上一主题 下一主题

[视窗] 增强树形框的问题

[复制链接]

40

主题

152

帖子

2404

积分

金牌会员

Rank: 6Rank: 6

积分
2404
QQ
跳转到指定楼层
楼主
发表于 2023-5-2 21:06:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
请问下,增强树形框 如何枚举项目,或是 取出所有的项目句柄?

还有所有的框类的项目数值的数据类型,可以改为 变整数 或是 长整数 吗?
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40533
沙发
发表于 2023-5-2 21:31:21 | 只看该作者
没有现成的枚举方法,只有


这样的方法。。

还有一个叫 取根项目 句柄的,可以取出根项目句柄。

需要自己根据一系列的方法,自行实现枚举所有项目句柄。。


安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40533
板凳
发表于 2023-5-2 22:24:28 | 只看该作者
刚才简单试试没搞出来。
不过可以确定的是:
1、需要使用递归算法处理。
2、需要用到“是否有子项目”、“取首子项目”、取后兄弟项目   三个方法
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

40

主题

152

帖子

2404

积分

金牌会员

Rank: 6Rank: 6

积分
2404
QQ
地板
 楼主| 发表于 2023-5-2 22:46:37 | 只看该作者
创世魂 发表于 2023-5-2 22:24
刚才简单试试没搞出来。
不过可以确定的是:
1、需要使用递归算法处理。

请问下,可否增加个成员变量,储存项目句柄数组?在 项目 的赋值、加入项目、插入项目、删除项目、清空的时候,顺便更新 项目句柄数组。
回复

使用道具 举报

40

主题

152

帖子

2404

积分

金牌会员

Rank: 6Rank: 6

积分
2404
QQ
5#
 楼主| 发表于 2023-5-2 22:48:43 | 只看该作者
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)
    返回 (返回句柄组.取成员数 ())
}


回复

使用道具 举报

11

主题

131

帖子

1498

积分

金牌会员

Rank: 6Rank: 6

积分
1498
6#
发表于 2023-5-3 00:16:46 | 只看该作者


回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40533
7#
发表于 2023-5-22 12:42:43 | 只看该作者
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-24 15:46 , Processed in 0.094577 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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