列表控件
1. 属性
属性 |
说明 |
---|---|
Id |
只读属性只在编辑工程可改变 |
Global |
全局属性,勾选时控件可作用于全局,全局调用时在前加页名称 |
Name |
控件名称,只在工程编辑时可更改 |
x |
控件x坐标,脚本可读写 |
y |
控件y坐标,脚本可读写 |
width |
控件宽,脚本可读写 |
height |
控件高,脚本可读写 |
Locked |
位置和大小锁定,只在编辑时有效,工程运行时无效 |
Visible |
控件可视性,脚本可读写。Visible=0控件不可见 visible=控件可见 |
opacity |
控件透明度,脚本可读写(仅s系列支持透明度) |
enable |
控件使能,脚本可读写,enable=0使能关闭 enable=1使能打开 |
Items |
列表条目,脚本可读写,编辑工程时在此处编辑列表内容 |
itemcount |
条目数量,脚本可读写。 |
maxitem |
最大条目数量,运行时不可读写 |
sel |
选中的序号,从0开始,脚本可读写 |
Selex |
勾选之后在选中项未改变时仍会触发“值改变事件”的脚本 |
Selel |
勾选之后仅在触摸时会触发“值改变事件”的脚本 |
ori |
控件方向,脚本可读写。Ori=0横向,ori=1纵向 |
itemspc |
列表条目的间距,脚本可读写 |
bgtype |
控件背景类型,脚本只读,bgtype=1颜色切换 bgtype=3图片切换 |
bgcolor |
控件背景颜色,脚本可读写,十六进制颜色格式 |
selbgcolor |
选中项背景颜色,脚本可读写 |
font |
控件内容选择的字库,脚本可读写,读写值为字库序号 |
fontcolor |
控件本文的颜色,脚本可读写 |
selfontcolor |
选中项字体颜色,脚本可读写 |
charspc |
字符间距,脚本可读写 |
txthoragn |
文本的水平对齐方式,脚本可读写 0左 1中 2右 |
txtveragn |
文本的垂直对齐方式,脚本可读写 0上 1中 2下 |
bdwidth |
边框宽度,脚本只读,编辑工程时可更改 |
bdcolor |
边框颜色,脚本只读,编辑工程时可更改 |
Bdwith1 |
内边框宽度,脚本只读,编辑工程时可更改 |
Bdcolor1 |
内边框颜色,脚本只读,编辑工程时可更改 |
2. 方法
2.1. getItem
获取对应项的文本
string getItem(int index)
参数
- index:
项的索引,从 0 开始
返回值
对应项的文本
2.2. setItem
设置对应项的文本
void setItem(int index, string item)
参数
- index:
项的索引,从 0 开始
- item:
项的文本
返回值
无
3. 事件
3.1. 值改变事件
用户可以在值改变事件写下脚本,执行脚本的条件可以属性栏选择勾选(是否在选中项未改变时触发值改变事件)这样只要有动作,脚本都会触发,如果没有勾选则只有在选项改变时才会触发脚本
示例 当选项sel为0背景颜色为绿色,1红色 2蓝色
if(list1.sel==0)
Page0.bgColor=0xff00ff00;
else if(list1.sel==1)
Page0.bgColor=0xffff0000;
else if(list1.sel==2)
Page0.bgColor=0xff0000ff;
4. 示例
4.1. 在脚本中访问属性
以列表名称list1为例
4.1.1. 设置列表控件背景颜色(list1.bgColor)
例如 设置列表控件背景颜色为绿色
list1.bgColr=0xff00ff00;
4.1.2. 设置列表控件选中项背景颜色(list1.SelbgColor)
例如 设置列表控件选中项背景颜色为蓝色
list1.SelbgColr=0xff0000ff;
4.1.3. 设置列表控件背景图片(list1.bgImg)
例如 设置列表控件背景图片为图片素材库第一张图片
list1.bgImg=1;
4.1.4. 设置列表控件选中项背景图片(list1.SelbgImg)
例如 设置列表控件选中项背景图片为图片素材库第二张图片
list1.SelbgImg=2;
应用技巧:利用控件不同状态下的背景图片可以设计不同风格的ui,vp提供非常自由的图片选择,图片尽量选用JPG格式,系统解码更快,运行更流畅,控件背景图片的对齐方式可以选择页面对齐,这样可以与页面背景用同一张图片,这样会最大程度的减少素材所占空间,系统运行也会更快,G系列暂时不支持带透明格式的png图片,但是S系列则支持这一选项
4.1.5. 设置列表控件条目内容字体颜色(list1.fontcolor)
例如 设置列表控件条目内容字体颜色为绿色
list1.fontColor=0xff00ff00;
应用技巧:颜色多用来区分选中项与未选中项,简单直接
4.1.6. 设置列表控件选种条目内容字体颜色(list1.fontColor)
例如 设置列表控件选中条目内容字体颜色为红色
list1.SelfontColor=0xffff0000;
应用技巧:利用控件不同状态下的背景颜色是设计UI是最方便有效的方法,vp提供控件在不同操作状态下的背景颜色供客户使用
4.1.7. 设置列表控件条目内容字体(list1.font)
例如 设置列表控件条目字体为素材库第一个字库
list1.font=1;
应用技巧:不同的字库,大小字体,清晰度,包含的字符都可以不同,通过改变字库,可以让文本内容变换不同风格,显示效果丰富多姿
4.1.8. 设置列表控件的透明度(list1.opacity)
例如 设置列表控件的透明度为50,透明度范围0-100,0完全透明,100完全不透明
list1.opacity=50;
应用技巧:透明度在UI上的用处就是能透过控件看到背景,特定风格之下的UI大有用处,但是透明度会增加系统工作量,非必要时刻不建议使用,如果背景素材希望设置成带透明的,目前网络上很多制图P图软件都可以做到这一点,将素材做成图片图片很多时候都是一个不错的选择。
4.1.9. 设置列表控件的可视性(list1.visible)
例如 设置列表不可见,0不可见,1可见
list1.visible=0;
应用技巧:vp工程中控件并非时时必须显示,可视性这个属性实现了控件视觉效果的可编辑性,用户自定义可视性,可配合其他控件在脚本中编辑,也可以配合协议解析器,在通讯过程中控制控件的显示和隐藏,简单直接且行之有效。
4.1.10. 设置列表控件的使能(list1.enable)
例如 设置列表控件失能,0失能,1使能
list1.enable=0;
应用技巧:使能为0时控件处于禁用状态,当列表控件用来设置参数时,某些环境下不允许参数改变时,就可以设置控件的使能属性使其禁用。
4.1.11. 设置列表控件选项字符间距(list1.charSpc)
例如 设置列表控件字符间距为30
list1.charSpc=30;
4.1.12. 设置列表控件条目数量(list1.itemCount)
例如 设置列表控件条目数量为28
list1.itemCount=28;//当条目数量小于实际数量是,最下面的条目不会显示
应用技巧:在一些选项需要被限制的应用场景,例如设置日期时,每个月的天数不一样,此时可以把日期顺序排列,大月设置显示条目数量为31,小月30,二月单独设置。这样设置列表的条目数量属性比较方便且严谨。
4.1.13. 设置列表控件选项字符间距(list1.charSpc)
例如 设置列表控件字符间距为30
list1.charSpc=30;
4.1.14. 设置列表控件的显示方向(list1.ori)
例如 设置列表控件显示方向为垂直
list1.ori=0;//0垂直 1水平
4.1.15. 设置列表控件选项文本的水平对齐方式(list1.txtHorAgn)
例如 设置列表控件文本水平对齐方式为中间对齐
list1.txtHorAhn=1;//0左 1中 2右
4.1.16. 设置列表控件选项文本的垂直对齐方式(list1.txtVerAgn)
例如 设置列表控件文本水平对齐方式为中间对齐
list1.txtVerAhn=1;//0上 1中 2下
应用技巧:作为一个显示字符的控件,间距和对齐方式是必不可少的,vp提供字符在文本控件内的各种对齐方式选择和间距的编辑,能应对字符显示的各种需求
4.1.17. 设置列表控件选中的选项(list1.sel)
例如 设置列表控件选中的选项为1,选项的序号从0开始
list1.sel=1;//选中第二个选项
应用技巧:选中项的改变主要有两种方式。
1. 被动改变,这种情况多数是跟通讯协议相关,通过接收到的不同数据,选中列表不同的条目,
2. 主动控制,通过列表控件的值改变事件执行对应脚本,实现控制的效果。
4.2. 在脚本中调用方法
4.2.1. 获取列表选中项txt内容函数list1.getItem()
函数参数:list1.sel
例如 列表总共有三个条目,分容分别是111 222 333,当你选中第0条,在按钮button0的弹起事件中获取中项内容并赋值给按钮的文本内容
button0.txt=list1.getItem(list1.sel);
4.2.2. 设置列表选中项txt内容函数list1.setItem()
函数参数:list1.sel,字符串内容
例如 列表总共有三个条目,分容分别是111 222 333,当你选中第0条,设置其条目内容为“sanyscreen”
list1.setItem(list1.sel, "sanyscreen");
5. 应用
列表控件可用来做单选下拉框、菜单等。
// 设置第 3 个项的文本
list0.setItem(2, "item2");
// 读取第 3 个项的文本
txt0.txt = list0.getItem(2);
更多详细用法,可参考简易示例【 简易串口助手_list控件用法.pix】