【易语言UI CHENI纯组件列表模块2.x】最新版本2.5 帮助文档基于2.1-2.2


CHENI纯组件自定义列表框模块帮助文档
(基于2.1-2.2


2021年8月15日:【由于业务调整,该模块已经停止更新,给您带来的不便请谅解】


前言

       基于【CHENI纯组件自定义列表框(以下简称自定义列表框)1.x】系列版本重构之后制作的2.x系列做出了以下改动。

       采用类似虚表的方案,循环利用组件完成理论无限表项且生成速度相对更快的2.x系列且保留了1.x系列的部分性质。


版权声明:本模块可进行二次开发,但二次开发者需著明原作者:CHENI
使用条例:本模块官方版本以此贴为准,在其它网站或其它用户分享途径获取的模块、源代码所造成的经济、安全损失,本站、原作者不做任何补偿与解释,本模块本身不传播任何违法信息未对软件内容进行任何添加、修改,所有源文本均来自软件作者,非模块作者。模块开源,若怀疑模块具有漏洞、后门等安全隐患请勿使用本模块!
特别声明:使用即代表同意以上条例,软件制作者通过本模块制作的软件造成的任何法律责任由软件作者承担。

2.x理论参考

理论无限表项思路:

基于暑假对Unity游戏引擎的学习无意中浏览到背包列表的思路进行了借鉴

【Unity干货】背包里装10万个道具(理论基础)

方法调用说明

第一步:创建列表基础部分(载体*、表项组件*、滚动条(非必要)、序号标签(非必要)等)

Tip:1.x系列不同2.x系列有明显的先后创建顺序

1、创建列表载体()【此方法一个列表仅执行一次】

参数:列表载体*(必要参数)

参数类型:图片框

参数作用:定义存放所有表项组件的载体,之后生成的组件都会以此载体为父组件即父子关系且列表滚动核心部分也是依托于此组件

参数:是否跟随母组件可视

参数类型:逻辑型

参数作用:如果此参数为真则之后生成的所有组件的默认可视属性均为母组件本身的可视属性,此参数可空,如果为空则默认均为可视

特别提醒:改参数为真时此方法及之后的所有创建列表基础部分均要放置于窗口创建完毕之后的方法中执行,否则由于所有组件在创建完毕方法执行时默认属性均为假所以可视将都会被修改为假。

参数:开启缓动

参数类型:逻辑型

默认值:假 可空

参数作用:开启后列表滚动会被分为多个步骤执行且缓动过程中可切换滚动方向(即强行切断)。

特别提醒:开启后列表滚动将会消耗比较大的硬件资源,且会出现闪动可能。且该方法使用的为死循环加处理事件方案所以存在压栈现象,可能途中无法处理其它事件。

 

参数:缓动帧率

参数类型:整数型

默认值:50可空

参数作用:定义列表缓动每秒刷新的次数(仅供参考),此参数默认为50该参数数值越大则消耗的硬件资源越多。

参数:欢动中不加载数据

参数类型:逻辑型

默认值:假可空

参数作用:开启不加载数据后如非必要情况缓动过程中不会加载任何数据,仅作动画效果演示,该参数有助于优化硬件消耗,和优化动画效果,但是不会实时显示对应数据,请视情况而定是否开启该功能。

参数:开启固定背景

参数类型:逻辑型

默认值:假可空

参数作用:开启后列表滚动方案将会从滚动整个载体修改为滚动每一个表项组件,此时列表载体不会修改坐标,以达到固定背景效果,但是此方案性能代价较高,且显示效果不太理想,建议非必要不调用。

特别提醒:不开启固定背景时不建议设置列表载体的图片,设置图片后可能存在闪动现象。且开启固定背景后不支持启用显示部分表项功能,请开发者视情况而定。

参数:开启变速缓动

参数类型:逻辑型

默认值:假 可空

参数作用:开启后滚动速度会随着鼠标滚动的频率而改动,频率越快滚动速度越快。

说明:该方法创建完列表载体后,模块会自行复制一份载体并将自身设为其子组件,从而达到遮罩效果,之后添加的所有组件如果不在载体内模块将会自动将其赋于载体中,但是保险起见请将所有表项组件置于载体内!且非必要不在载体的子组件下添加其它组件,如需达到绝对固定(类似于网页右下角回到顶部的绝对固定)可创建独立于载体之外的组件并将其移动到相应位置。

2、创建表项_添加组件()【系列方法】

此类方法包含:按钮、编辑框、标签、超级按钮、单选框、动画框、动画物体(2.1及以前版本暂时无法对该类组件进行创建动画,该组件暂时不建议添加,如使用后续版本将会添加创建方法)、进度条、图片框、图形按钮、选择框 等(后继版本可能会支持更多组件)

组件的添加,使用此方法后被添加的所有组件会被编组成一个表项,此后的插入表项方法将会以此为单位一进行复制、显示等操作。

需要注意的是2.x系列版本由于重复调用组件进行显示,所以除了表项组件以外不再建议添加其它无关组件进入列表载体中。

添加完所有组件之后需要调用 创建_表项 方法声明组件完全添加完毕同时进行相关设置。

方法说明:此类方法所有参数均为对应类型
例如:创建表项_添加图片框(图片框1
此类方法可一次传入至多10个同类参数,如需更多再次调用即可,为了避免出现错误请不要添加非列表载体子组件的其它组件!

3、创建_表项()

在完成以上的所有初始化列表方法之后需要执行此结束方法,执行完此方法之后将无法再次添加其它组件。

参数:每行个数

参数类型:整数型

默认值:1 可空

参数作用:该模块支持创建多列列表,即类似于论坛板块页面,该模块从左至右从上至下添加表项。

参数:左右间距

参数类型:整数型

默认值:所有表项组件中的最左边 可空

参数作用:此参数可自定义表项的左右间距,当无参调用时将默认设置为所有表项组件中最左侧的左边。

参数:纵向滚动条

参数类型:滚动条

默认值:无 可空

参数作用:被定义后该滚动条会响应列表的滚动,列表的高度、位置均会对齐造成响应,该滚动条也可被用户手动控制,但需要在其位置被改变方法中加入列表_滚动条控制列表 () 方法(该方法无参调用)。

参数:序号标签

参数类型:标签

默认值:无 可空

参数作用:定义一个显示表项序号的标签,例如显示1楼、2楼、3楼等,该标签的序号使用阿拉伯数字。

特别提醒:即使未定义序号标签也可通过 获取_组件表项序号 系列方法进行获取表项序号,该标签仅作显示用,无其它用意,且该标签会在显示时对齐自动赋值,理论不支持手动修改其标题属性。

参数:序号左侧字符

参数类型:文本型

默认值:无 可空

参数作用:该参数会被附加到每一个序号标签的序号左侧。

参数:序号右侧字符

参数类型:文本型

默认值:无 可空

参数作用:该参数会被附加到每一个序号标签的序号右侧。

参数:缓冲区行数

参数类型:整数型

默认值(最小值):2 可空

参数作用:该参数可定义滚动途中的缓冲区行数,数值大小影响到加载速度和硬件消耗,一般无需修改,如出现无法显示完整情况可对其进行修改。

参数:表项宽度偏移

参数类型:整数型

默认值:无 可空

参数作用:表项宽度可自行进行修改,宽度默认为所有表项最右侧减去所有表项最左侧,如果对其进行修改将会影响到表项间距。(可接收负数)一般无需进行修改。

参数:表项高度偏移

参数类型:整数型

默认值:无 可空

参数作用:表项宽度可自行进行修改,高度默认为所有表项最底侧减去所有表项最顶侧,如果对其进行修改将会影响到表项间距。(可接收负数)一般无需进行修改。

第二步:插入、删除表项

1、 插入_表项()

特别说明:当开启部分表项功能后该方法将无法执行

参数:数量*

参数类型:整数型

默认值:无 不支持负数

参数作用:执行此方法将会生成改数量的表项

参数:位置

参数类型:整数型

默认值:当前表项数量(即最后位置)

参数作用:可插入到自定义位置之后

特别说明:该值从0开始

2、 删除_表项()

特别说明:当开启部分表项功能后该方法将无法执行

该方法删除后绑定的自定义数组的原数组并不会做出任何修改,请通过 数据_获取自定义数组系列方 法进行同步

参数:表项序号*

参数类型:整数型

默认值:无

参数作用:将会尽量从该序号开始删除(如果出现数组越界会跳出删除循环)

特别说明:由于可能需要使用组件直接进行调用,为了方便配合 获取_表项序号 方法,该值从1开始

参数:数量

参数类型:整数型

默认值:1

参数作用:执行此方法将会尽可能删除到该数量(如果出现数组越界会跳出删除循环)

删除_表项_全部

该方法为无参方法,调用后并非执行删除数组成员,而是执行清除数组方法将所有相关数组清除

特别提醒:该方法在2.1版本中未进行清除绑定的自定义数组,如果进行了数组绑定请勿调用此方法删除所有表项,请循环使用删除表项方法。

第三步:修改组件关键属性

修改_组件属性()【系列方法】

暂时支持修改的组件属性:按钮标题、编辑框内容、标签标题、超级按钮标题、单选框标题、动画框背景图片、动画物体图片(动画物体在2.1中暂时无法显示)、进度条位置、进度条最大位置、图片框图片、选择框选中、单选框选中【独立组件(即非其它任何表项组件的子组件)】暂不支持表项组件子组件单选框的选中

参数:母组件*

参数类型:组件(视具体方法而定)

参数作用:定义修改的具体组件

母组件概念:创建表项_添加组件 时调用的组件即为母组件

参数:表项序号*

参数类型:整数型

默认值:无

参数作用:定义需要修改的表项序号

特别说明:该值从1开始

参数:修改结果*

参数类型:视具体情况而定

参数作用:传入修改后的值

修改_组件属性_批量()【系列方法】

暂时支持批量修改的组件属性:标签标题、超级按钮标题、单选框标题、动画框背景图片、动画物体图片、进度条位置、进度条最大位置、选择框标题、选择框选中。(其它组件未添加只是因为遗漏了,后继版本将会补齐)

参数:母组件*

参数类型:组件(视具体方法而定)

参数作用:定义修改的具体组件

母组件概念:创建表项_添加组件 时调用的组件即为母组件

参数:开始表项序号*

参数类型:整数型

默认值:无

参数作用:定义批量修改的开始序号

特别说明:修改系列方法的所有开始表项序号均从0开始

参数:修改结果*

参数类型:数组型(视具体情况而定)

默认值:无

参数作用:提供修改后的结果,将会依次进行赋值

特别说明:该方法定义了修改表项数量

第四步:获取组件关键属性

获取_组件属性()【系列方法(具体属性)】

支持的组件属性:按钮标题、编辑框内容、标签标题、超级按钮标题、单选框选中、进度条位置、进度条最大位置、图片框图片、选择框选中。

参数:母组件*

参数类型:组件(视具体方法而定)

参数作用:定义获取的具体组件

母组件概念:创建表项_添加组件 时调用的组件即为母组件

参数:表项序号*

参数类型:整数型

默认值:无

参数作用:定义需要获取的表项序号

特别说明:该值从1开始

获取_组件属性()【系列方法(所有属性)】

支持的组件:按钮、编辑框、标签、超级按钮、单选框、动画框、动画物体、进度条、图片框、选择框、图形按钮

特别说明:此系列方法返回值为自定义变量类型,并非实际组件,无法进行例如 .刷新显示 等组件事件操作

此方法返回的左边、顶边值仅提供参考(特别是未开启固定背景的情况下,仅供参考)

参数:母组件*

参数类型:组件(视具体方法而定)

参数作用:定义获取的具体组件

母组件概念:创建表项_添加组件 时调用的组件即为母组件

参数:表项序号*

参数类型:整数型

默认值:无

参数作用:定义需要获取的表项序号

特别说明:该值从1开始

获取_组件属性_批量()【系列方法 具体属性】

支持的组件属性:按钮标题、编辑框内容、超级按钮标题、进度条位置、图片框图片、选择框选中序号【该方法返回选中的选择框的索引】

参数:母组件*

参数类型:组件(视具体方法而定)

参数作用:定义获取的具体组件

母组件概念:创建表项_添加组件 时调用的组件即为母组件

参数:开始表项索引*

参数类型:整数型

默认值:无

参数作用:定义需要获取的开始表项索引

特别说明:该值从0开始

参数:数量*

参数类型:整数型

默认值:无

参数作用:定义获取结果的数量

变量:赋值数组

参数类型:数组型(具体视情况而定)

默认值:无

参数作用:获取后的所有数据将会赋值到该数组中

辅助调试方法:

开启Debug

Debug默认开启,该方法在关闭之后执行

关闭Debug

Debug模式用户可自行关闭

开启事件组件提醒功能

事件组件提醒默认开启,该方法在关闭之后执行

方法作用:开启后越界等Debug将尽可能的调试输出对应的事件组件,但是该方法如果被子程序或者其它非组件事件调用将会出现错误,可通过关闭避免该错误(该错误仅出现在调试中,不会出现在编译后的文件中)

关闭事件组件提醒功能

关闭后将无法收到事件组件提醒

列表_滚动方法精讲

列表_滚动()

该方法将会在绑定列表载体之后通过发送消息的方法给列表载体添加到滚轮被滚动方法中,并自动调用,无需再次对每个组件进行声明(该消息自带穿透,如果对列表内其它组件进行附加该命令可能会造成双倍滚动)

滚动距离算法:传入值*列表高度*0.3

未开启固定背景条件下响应滚动的是整个列表载体。

开启固定背景条件下响应滚动的是每个表项组件。

参数:滚动距离*

参数类型:整数型

默认值:无

参数作用:列表会做出相应的滚动,传入-值向下滚动,传入正值向上滚动,传入0刷新列表显示。

特别说明:可在所有方法中直接调用,前提完成列表的创建,且当界面前可滚动(高度超出用户显示区范围)

列表_滚动条控制列表()

该方法建议添加在滚动条 位置被改变 方法下,但由于部分原因未直接使用发送消息调用,请开发者手动进行调用。

缓动方法

会根据当前位置和目标位置进行距离判断,将该距离分为5份单次滚动取其一,单词滚动结束后会重新计算单次滚动距离,最小滚动距离为1.

该方法未被公开,其逻辑流程如下:
未开启固定背景、未开启滚动中不加载数据、未开启仅显示部分表项

该条件下会判断当前将需要显示在组件上的第一个表项索引是否为当前显示在组件上的第一个表项索引,是则进行数据加载,否则不加载数据,每次滚动都会将组件数据传输到数组变量中。

未开启固定背景、开启滚动中不加载数据、未开启仅显示部分表项

该条件下滚动除序号标签会做出响应外,其它组件不会加载数据,有利于节省硬件资源,提升显示效果。

未开启固定背景、未开启滚动中不加载数据、开启仅显示部分表项

受限于首个表项获取难度每一次滚动都会加载数据,需要消耗较多硬件资源。

未开启固定背景、开启滚动中不加载数据、开启仅显示部分表项

必要时进行数据加载,其他时间仅作动画效果,消耗资源情况相对较小。

开启固定背景、未开启滚动中不加载数据、未开启仅显示部分表项(开启固定背景后不暂支持开启部分表项)

该条件下所有组件每次滚动都会进行数据加载,消耗硬件资源多,显示效果不太理想。

开启固定背景、开启滚动中不加载数据、未开启仅显示部分表项(开启固定背景后不暂支持开启部分表项)

该条件下不加载数据,消耗硬件资源相对上者较小,显示效果相对理想。

列表_回到顶部()

该方法被调用后会直接从当前位置回到列表顶端。

特别说明:无论是否开启缓动该方法都采用缓动方法返回顶部且期间列表载体会被禁止。

显示部分表项功能精讲

该功能可配合实现搜索、仅显示该板块、该作者等功能。

开启该功能后为了避免出错将暂时关闭添加、删除表项功能。

开启该功能后原有的所有表项并未被删除,关闭后会继续显示,且期间对组件数据的修改会被保留。

列表_开启显示部分表项功能

参数:表项序号组*

参数类型:整数型数组

默认值:无

参数作用:传入后,列表将保留对应表项且去重,顺序依据数组顺序

特别说明:如需更新显示表项请使用 列表_显示部分表项 方法

该值从1开始

列表_显示部分表项

参数:表项序号组*

参数类型:整数型数组

默认值:无

参数作用:传入后,列表将保留对应表项且去重,顺序依据数组顺序

特别说明:前提需要使用 列表_开启显示部分表项功能 方法

该值从1开始

列表_退出显示部分表项功能

参数:不恢复顶边

参数类型:逻辑型

默认值:假 可空

参数作用:当该参数未真时则退出该功能后将会自动回到列表最顶部。

数据_操作 功能

此系列方法可对数据进行隐形绑定,无需依托组件,使用关键字方案调用、删除、修改。

特别说明:由于采用传值方案该功能绑定后的修改操作不会对原数组做出任何响应、原数组的修改也不会对绑定的数组做出任何响应。

绑定后的数组(非原数组)会随着表项的删除而删除,随着添加而添加,其数据被绑定后即一一对应,添加的默认值均为空值,即0、““、0.0可通过修改方法对其进行修改

数据_绑定数据类型自定义数组【系列方法】

支持绑定的数据类型:文本型、小数型、整数型

参数:关键字*

参数类型:文本型

默认值:无

参数作用:此关键字将会被记录作为获取、删除等操作的凭证

特别说明:同类型关键字禁止重复,不同类型关键字可重复,即整数型、小数型、文本型中都可出现且仅出现一个为“A“或其它的关键字,如需进行更新请调用 数据_更新绑定数据类型自定义数组 方法

参数:初始数组*

参数类型:数组型(视具体情况而定)

默认值:无

参数作用:初始提供赋值的数组

特别说明:如果初始数组相对于表项数量过短会自动补齐空值,如果初始数组过长会被自动删除(不会对原数组做出任何操作!)

数据_更新绑定数据类型自定义数组 【系列方法】

该系列方法仅可在绑定之后执行

参数:关键字*

参数类型:文本型

默认值:无

参数作用:需要填入绑定时提供的关键字

特别说明:如果该关键字不存在则不会做出任何操作

参数:更新后数组*

参数类型:数组型(视具体情况而定)

默认值:无

参数作用:传入后会对原数组进行覆盖原数据不被保留

数据_获取数据类型自定义表项数据【系列方法】

该方系列法返回对应类型对应值

参数:关键字*

参数类型:文本型

默认值:无

参数作用:需要填入绑定时提供的关键字

特别说明:如果该关键字不存在则返回空值

参数:表项序号*

参数类型:整数型

默认值:无

参数作用:需填入对应的表项序号

特别说明:如果越界获取则返回空值

该值从1开始

数据_删除数据类型自定义表项数据【未公开】

此系列方法由系统自动调用,将在删除表项时进行调用

特别说明:2.1版本中暂未做出数据类型删除操作如果开发者有对数据进行绑定请使用删除方法配合循环完成删除。

数据_修改数据类型自定义数据【系列方法】

调用此系列方法可直接修改对应数组中的值

特别说明:不对原数组做任何操作!

参数:关键字*

参数类型:文本型

默认值:无

参数作用:需要填入绑定时提供的关键字

特别说明:如果该关键字不存在将不会做出任何操作

参数:表项序号*

参数类型:整数型

默认值:无

参数作用:需填入对应的表项序号

特别说明:如果越界获取则不会做任何修改

该值从1开始

参数:修改结果*

参数类型:视具体情况而定

默认值:无

参数作用:该关键字该表项序号下的值将会被修改为修改结果

数据_修改数据类型自定义数据_批量【系列方法】

调用此系列方法可直接修改对应数组中的值

特别说明:不对原数组做任何操作!

参数:关键字*

参数类型:文本型

默认值:无

参数作用:需要填入绑定时提供的关键字

特别说明:如果该关键字不存在将不会做出任何操作

参数:开始表项序号*

参数类型:整数型

默认值:无

参数作用:需填入对应的表项序号

特别说明:如果越界获取则不会做任何修改

该值从0开始

参数:修改结果*

参数类型:数组型(视具体情况而定)

默认值:无

参数作用:该关键字该表项序号下的值将会被修改为修改结果【依次赋值】

Power ByWWW.CHENI.VIP

2020924日星期四



2.0更新内容:

    1、修改模块底层框架、采用类虚表方案,突破表项数量限制(由于数据加载未进行优化,该版本会受到运行内存大小申请限制,后期将进行优化)

    2、新增缓动滚动方案、固定背景方案(性能消耗较大,用户显示区内表项数量过多时效果不太理想)

    3、暂未更新底部载体、显示部分表项、移动表项到指定位置等1.x系列功能

    4、优化数据加载、表项创建方案(1万表项创建 i59400f cpu 耗时1.1s 修改字节集数据速度类似,后继版本将进行优化)

    5、取消所有组件的列表滚动事件(但是此方法依旧可以手动调用)

    6、新增支持父子组件功能表项组件无需互相独立

    7、其它功能


2.1更新内容:

    1、修复网友反馈的递归问题

    2、新增显示部分表项功能【移植自1.x系列】

    3、优化滚动方案(微调)

    4、改闭源开发为开源(本来打算闭源开发的,但是开学了没时间维护而且开源可以提供大家学习交流所以就开源了)


2.2更新内容:

    1、修复 显示部分表项数组索引越界bug

    2、修复 删除_表项_全部 方法不删除绑定数组数据bug

    3、修复 当前需要显示表项数量为0时滚动时获取显示表项索引越界bug

    4、补齐 修改_组件属性_批量 系列方法

    5、修改 获取_图片框加载图片_批量 方法名 改为 获取_图片框图片_批量

2.3更新内容:

    1、补齐 数据类型到组件_标签 (私有方法)中的遗漏属性

    2、新增 修改_组件属性 系列方法 理论上支持修改组件的所有属性【非必要请不要修改坐标属性!】

    3、优化 列表_缓动方法 (私有方法)的缓动方案(微调)

    4、修复 每行最大个数逻辑判断


2.4更新内容

    1、修复 部分循环次数判断逻辑错误、数据类型匹配错误

    2、新增 创建表项_动画物体绑定动画框 体方法使用该方法可给动画物体创建时默认创建一个动画物体(可实现伪圆角等效果),暂时无法对动画物体进行销毁

    4、新增 保证显示表项功能,可自定义是否暂时屏蔽,删除时是否响应(包含方法:列表_保证显示、列表_滚动_保证显示响应事件)【尽可能显示到该项,如果超出范围则显示到最底部或最顶部】

    5、新增 列表_置缓动状态 方法,用户可随时修改缓动状态(包括是否缓动、缓动帧率、缓动中是否加载数据、是否变速缓动)

    6、新增 列表_滚动_到具体像素、列表_获取虚拟载体顶边、列表_获取虚拟载体高度系列方法


2.5更新内容

    就一个:动画物体置透明度



0 条回复   |  直到 2020-8-10 | 3332 次浏览




附件列表
文件名称 文件大小 下载次数
cheni纯组件列表框2.1 - 公测版 修复递归 新增部分表项功能.zip 文件大小:1.602M 64
附件列表
文件名称 文件大小 下载次数
cheni纯组件列表2.1帮助文档 - 2020-9-24.zip 文件大小:0.028M 26
附件列表
文件名称 文件大小 下载次数
cheni纯组件列表框2.2 - 公测版 修复索引bug.zip 文件大小:1.259M 18
附件列表
文件名称 文件大小 下载次数
cheni纯组件列表框2.3 - 公测版 新增修改组件所有属性.zip 文件大小:1.335M 20
附件列表
文件名称 文件大小 下载次数
cheni纯组件列表框2.4 - 公测版 修复部分bug 新增动画框绑定动画物体 保证显示等方法.zip 文件大小:1.336M 24
附件列表
文件名称 文件大小 下载次数
cheni纯组件列表框2.5 - 公测版 新增置动画物体透明度功能.zip 文件大小:1.111M 227
热门评论


登录后才可发表内容