[PC]连续赋值的实现
本帖最后由 609177738 于 2025-4-7 23:47 编辑众所周知,火山PC的连续赋值仅支持 "支持'='赋值的对象", 而火友呼吁声最大的就是不支持窗口组件的属性写/普通方法:
例如 对一大批组件的标题进行赋值, 又或者是禁止, 等等.
------------------------------------------------
实际上很早之前 在Ex_DirectUI界面库中 就提供了 一种以C++宏展开方式 来实现的 任意对象连续赋值操作,
为"连续执行1-4"), 并且封装了常用的 "连续赋值标题 " 函数.
缺点是 支持的扩展变量个数有限,EXDUI中通过N行宏代码以支持到了可扩展100个变量,
简直是代码灾难(老太婆的裹脚布 , 跟 火山的模板类一样, 反馈都是石沉大海)
static/image/hrline/5.gifstatic/image/hrline/5.gif
本文通过C++可变参数模板来实现以上功能,可扩展参数变量不再受限制.
函数名 "连续赋值自函数" :至少需提供3个参数 , 每个参数对应要求具体看源码内备注
参数1: 真正执行赋值的静态方法
参数2: 传递到参数1所提供的方法中, 用于所欲赋予的值
参数3: (必须传引用)传递到参数1所提供的方法中, 所欲赋值到的变量, 可无限扩展
static/image/hrline/1.gif
连续赋值组件标题例子:
连续赋值自函数 (_赋值标题, "连续赋值标题", 按钮4, 按钮2, 按钮3, 编辑框1)
// _赋值标题 静态函数只需实现一次即可
<火山程序 类型 = "通常" 版本 = 1 />
方法 _赋值标题 <公开 静态 折叠>
参数 值 <类型 = 文本型 注释 = "@视窗.后缀文本 \"&\" 为可选,因为火山类自动传引用,基本数据类型一般无需传引用">
参数 变量 <类型 = 窗口组件 注释 = "基本数据类型 必须手动添加" 注释 = "窗口组件 为 火山的类 无需添加." "//@视窗.后缀文本" = "&">
{
变量.标题 = 值// 属性写 或 普通方法 也可以
}
其他的需求自行编写 属于自己的赋值静态方法来实现吧!{:3_59:}
2025.4.7更新 解决x86 不支持问题
支持 一直有个疑问,易语言底层也是C,既然能封装,火山为啥不封这个命令。感觉还是火山限制太狠了,导致不灵活了。 易语言怎么可能是c, 易和c的唯一共性也就是都是面向过程了
支持
页:
[1]