找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 224|回复: 4

请教如何动态处理组件

[复制链接]

23

主题

29

回帖

190

积分

注册会员

积分
190
QQ
发表于 2024-12-9 06:16:03 | 显示全部楼层 |阅读模式
悬赏1金钱未解决
如图我通过动态的方式创造了一些UI元素,并试图通过动态的方式控制【销毁元素】和【获取元素内容】


关于想到2种方式并进行尝试都失败了:
方法1:尝试使用类似【XX元素.销毁所有子元素】
失败原因:未找到相关命令接口


  1. 函数 清空()
  2.                 整数型 子对象数量 = 绘制目标.取子对象数量()
  3.                 计次循环 (整型 i = 0; 子对象数量)
  4.                         炫彩句柄 临时对象 = 绘制目标.取子对象从索引(i)
  5.                         元素_销毁(临时对象)
复制代码
方法2:尝试枚举元素然后使用【元素.销毁(XX元素)】来实现  具体代码如上
失败原因: 绘制目标.取子对象从索引(i)返回的是“炫彩句柄”,而销毁元素需要的是“元素句柄”二者如何转换没有找到对应接口
错误提示:错误 C2664: “空类型 元素_销毁(元素句柄)”: 无法将参数 1 从“炫彩句柄”转换为“元素句柄”



请教具体应该如何实现

23

主题

29

回帖

190

积分

注册会员

积分
190
QQ
 楼主| 发表于 2024-12-11 03:12:18 | 显示全部楼层
hxznhf 发表于 2024-12-9 10:50
如果 取子对象从索引(i) 返回的是组件元素,你可以使用强制类型转换语法,炫彩句柄是void*,相当于通用类型 ...

已解决   使用一下代码 强制转换后是可以通用的
  1. 元素句柄 临时对象 = (元素句柄)绘制目标.取子对象从索引(i)
复制代码

58

主题

112

回帖

717

积分

版主

积分
717
发表于 2024-12-9 10:50:49 | 显示全部楼层
如果 取子对象从索引(i) 返回的是组件元素,你可以使用强制类型转换语法,炫彩句柄是void*,相当于通用类型

23

主题

29

回帖

190

积分

注册会员

积分
190
QQ
 楼主| 发表于 2024-12-10 23:32:08 | 显示全部楼层
hxznhf 发表于 2024-12-9 10:50
如果 取子对象从索引(i) 返回的是组件元素,你可以使用强制类型转换语法,炫彩句柄是void*,相当于通用类型 ...

经过后续测试发现  有时【炫彩句柄】和【元素句柄】是通用的  ,可能(个人感觉) 一个是面向对象的方式一个是面对过程的方式实现的 ,  但是在编译时没搞明白具体如何区分有时能编译通过 有时会提示无法将【炫彩句柄】转换为【元素句柄】。

23

主题

29

回帖

190

积分

注册会员

积分
190
QQ
 楼主| 发表于 2024-12-11 01:43:43 | 显示全部楼层
竹永玉 发表于 2024-12-10 23:32
经过后续测试发现  有时【炫彩句柄】和【元素句柄】是通用的  ,可能(个人感觉) 一个是面向对象的方式 ...

进一步试验发现
【元素_注册事件CPP】和【元素_注册事件CPP1】 可以直接调用【炫彩句柄】来代替【元素句柄类】而其他的大多都不行(暂时只发先这两个可以)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|炫语言 | 炫彩界面库 | 用户所需, 正是我所做! ( 鄂ICP备2023014763号-1 )

GMT+8, 2025-1-31 02:57 , Processed in 0.073117 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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