|
本帖最后由 609177738 于 2025-4-7 23:47 编辑
众所周知,火山PC的连续赋值仅支持 "支持'='赋值的对象", 而火友呼吁声最大的就是不支持窗口组件的属性写/普通方法:
例如 对一大批组件的标题进行赋值, 又或者是禁止, 等等.
------------------------------------------------
实际上很早之前 在Ex_DirectUI界面库中 就提供了 一种以C++宏展开方式 来实现的 任意对象连续赋值操作,
为"连续执行1-4"), 并且封装了常用的 "连续赋值标题 " 函数.
缺点是 支持的扩展变量个数有限,EXDUI中通过N行宏代码以支持到了可扩展100个变量,
简直是代码灾难(老太婆的裹脚布 , 跟 火山的模板类一样, 反馈都是石沉大海)
 
本文通过C++可变参数模板来实现以上功能,可扩展参数变量不再受限制.
函数名 "连续赋值自函数" : 至少需提供3个参数 , 每个参数对应要求具体看源码内备注
参数1: 真正执行赋值的静态方法
参数2: 传递到参数1所提供的方法中, 用于所欲赋予的值
参数3: (必须传引用)传递到参数1所提供的方法中, 所欲赋值到的变量, 可无限扩展

连续赋值组件标题例子:
连续赋值自函数 (_赋值标题, "连续赋值标题", 按钮4, 按钮2, 按钮3, 编辑框1)
// _赋值标题 静态函数只需实现一次即可
- <火山程序 类型 = "通常" 版本 = 1 />
- 方法 _赋值标题 <公开 静态 折叠>
- 参数 值 <类型 = 文本型 注释 = "@视窗.后缀文本 "&" 为可选,因为火山类自动传引用,基本数据类型一般无需传引用">
- 参数 变量 <类型 = 窗口组件 注释 = "基本数据类型 必须手动添加" 注释 = "窗口组件 为 火山的类 无需添加." "//@视窗.后缀文本" = "&">
- {
- 变量.标题 = 值 // 属性写 或 普通方法 也可以
- }
复制代码 其他的需求自行编写 属于自己的赋值静态方法来实现吧!
2025.4.7更新 解决x86 不支持问题
|
|