下拉框控件

下拉框控件仅X2、X3、X5系列支持

用于在串口屏上显示文本信息,包括数字,字母,符号,汉字和其他各国语言,使用前需要提前导入字库,制作字库请参考 创建字库和导入字库

如何修改显示的字体大小:需要提前导入不同大小的字库,需要修改控件显示的字体大小时,通过上位机编辑或者通过指令修改控件的font属性即可,请参考 如何修改控件显示的字体

提示

导入字库请参考: 如何导入字库

导入图片请参考: 如何导入图片

导入动画请参考: 如何导入动画

导入视频请参考: 如何导入视频

导入音频请参考: 如何导入音频

下拉框控件-使用详解

下拉框控件赋值

1//向下拉框cb0赋值三行,分别是123、456、789
2cb0.path="123\r456\r789"
3
4//将t1、t2、t3赋值给下拉框cb0
5cb0.path=t1.txt+"\r"+t2.txt+"\r"+t3.txt

将t0.txt动态添加到下拉框控件

1t0.txt="123"
2
3//向下拉文本cb0的下拉框中添加一个回车换行
4cb0.path+="\r"
5
6//将t0.txt添加到下拉文本cb0
7cb0.path+=t0.txt

删除下拉框中指定的某一行数据

以默认添加的下拉框为例,我们删除其中100V这行

添加三个文本控件key,t1,t2,key的txt_maxl设置为50,t1和t2的txt_maxl设置为100

 1//设置要删除的数据为100V
 2key.txt="100V"
 3
 4//在100V后面添加一个回车换行
 5key.txt+="\r"
 6
 7//截取100V前面的数据
 8spstr cb0.path,t1.txt,key.txt,0
 9
10//截取100V后面的数据
11spstr cb0.path,t2.txt,key.txt,1
12
13//将100V前面的数据和100V后面的数据重新拼接后赋值给cb0.path
14cb0.path=t1.txt+t2.txt

让下拉框缩回

设置下拉框的down属性

1cb0.down=0

获取下拉框被当前被选中的值

如果需要在cb0选中某一项时执行,请在cb0的弹起事件中写以下代码

1//判断cb0是弹起状态
2if(cb0.down==0)
3{
4   //将cb0.txt赋值给给t0.txt
5   t0.txt=cb0.txt
6}

发送下拉框被当前被选中的值

如果需要在cb0选中某一项时执行,请在cb0的弹起事件中写以下代码

1//判断cb0是弹起状态
2if(cb0.down==0)
3{
4   printh 55 aa   //发送帧头
5   prints cb0.txt,0  //发送数据
6   printh 0d 0a   //发送帧尾
7}

将下拉框置顶

由于下拉框是可展开的,因此在展开是可能会被其他控件挡住,此时就需要将下拉框置顶

在下拉框的按下事件中写

1 //将下拉框cb0置于最顶层
2 setlayer cb0,255

当点击某个下拉框时让其他下拉框缩回

三个下拉框cb0,cb1,cb2

下拉框cb0的按下事件中写

cb1.down=0
cb2.down=0

下拉框cb1的按下事件中写

cb0.down=0
cb2.down=0

下拉框cb2的按下事件中写

cb0.down=0
cb1.down=0

下拉框被其他下拉框挡住

可以用setlayer指令将当前下拉框置顶 setlayer-运行中改变控件图层顺序

或者用vis指令隐藏其他的下拉框 vis-隐藏/显示控件

如何修改下拉框控件显示的字体大小和样式

请参考 如何修改控件显示的字体

下拉框控件-样例工程下载

演示工程下载链接:

《下拉框控件》演示工程下载

下拉框控件-相关链接

哪些控件属性可以运行中修改,哪些不能运行中修改

txt属性和val属性有什么区别,为什么有些属性赋值要加双引号,有些不用加双引号

跨页面赋值,全局变量操作

下拉框控件-属性详解

控件属性解析

提示

绿色属性可以通过上位机或者串口屏指令进行修改,黑色属性只能在上位机中修改或者不可修改,可通过上位机进行修改指“选中控件后通过属性栏修改控件的属性”

type属性 -控件类型,固定值,不同类型的控件type值不同,相同类型的控件type值相同,可读,不可通过上位机修改,不可通过指令修改。参考: 控件属性-控件id对照表

id属性 -控件ID,可通过上位机左上角的上下箭头置顶或置底,可读,可通过上位机修改左上角的箭头置顶或置地间接修改,不可通过指令修改。参考: 如何更改控件的前后图层关系

objname属性 -控件名称。不可读,可通过上位机进行修改,不可通过指令更改。

vscope属性 -内存占用(私有占用只能在当前页面被访问,全局占用可以在所有页面被访问),当设置为私有时,跳转页面后,该控件占用的内存会被释放,重新返回该页面后该控件会恢复到最初的设置。可读,可通过上位机进行修改,不可通过指令更改。参考:跨页面赋值,全局变量操作

drag属性 -是否支持拖动:0-否;1-是。仅x系列支持。可读,可通过上位机修改,可通过指令修改。

aph属性 -不透明度(0-127),0为完全透明,127为完全不透明。仅x系列支持。可读,可通过上位机修改,可通过指令修改。

effect属性 -加载特效:0-立即加载;1-上边飞入;2-下边飞入;3-左边飞入;4-右边飞入;5-左上角飞入;6-右上角飞入;7-左下角飞入;8-右下角飞入。仅x系列支持,在上位机中设置为立即加载时,无法通过指令变为其他特效,当在上位机中设置为非立即加载的特效时,可以变为立即加载,也可以再改为其他特效

sta属性 -背景填充方式:0-切图;1-单色;2-图片;3-透明(仅x系列支持透明)。可读,可通过上位机修改,不可通过指令修改。

picc属性 -切图背景(必须是全屏图片),sta为切图时才有这个属性。可读,可通过上位机修改,可通过指令修改。

bco属性 -背景色,sta为单色时才有这个属性。可读,可通过上位机修改,可通过指令修改。

pic属性 -背景图片,sta为图片时才有这个属性。可读,可通过上位机修改,可通过指令修改。

pco属性 -字体色。可读,可通过上位机修改,可通过指令修改。

font属性 -控件调用的字库id,调用不同的字库会显示不同的字体或字号。可读,可通过上位机修改,可通过指令修改。参考:1、 创建字库和导入字库 2、 指定字库

xcen属性 -水平对齐:0-靠左;1-居中;2-靠右。可读,可通过上位机修改,可通过指令修改。

ycen属性 -垂直对齐:0-靠上;1-居中;2-靠下。可读,可通过上位机修改,可通过指令修改。

spax属性 -字符横向间距(最小0,最大255)。可读,可通过上位机修改,x系列可通过指令修改,其他系列不可通过指令修改。

dis属性 -外形圆角半径百分比(0-100,0为直角)

txt属性 -字符内容(运行中会根据val值的变化自动改变)。可读,可通过上位机修改,可通过指令修改。

txt_maxl属性 -字符最大长度(即分配内存空间)。GB2312下,ascii字符占用1个字节,一个汉字占2字节。UTF8下,ascii字符占用1个字节,一个汉字占3字节。可读,可通过上位机修改,不可通过指令修改。

up属性 -字符框是否显示箭头:0-不显示;1-显示。可读,可通过上位机修改,可通过指令修改。

pco3属性 -字符框箭头颜色。可读,可通过上位机修改,可通过指令修改。

bco1属性 -单元格背景色。可读,可通过上位机修改,可通过指令修改。

pco1属性 -单元格字体色。可读,可通过上位机修改,可通过指令修改。

path属性 -单元格内容集合(请使用多行输入,每行为一条单元格内容)。可读,可通过上位机修改,可通过指令修改。

path_m属性 -单元格内容集合最大长度(即分配内存空间)。可读,可通过上位机修改,不可通过指令修改。

dir属性 -单元格展开方向:0-上;1-下;2-左;3-右。可读,可通过上位机修改,可通过指令修改。

qty属性 -最大展开单元格数量(1-254)。可读,可通过上位机修改,可通过指令修改。

vvs0属性 -展开单元格间距(最小0,最大255)。可读,可通过上位机修改,可通过指令修改。

val属性 -当前选中单元格ID(运行中每次改变会将相应的内容同步到txt属性)。可读,可通过上位机修改,可通过指令修改。

bco2属性 -选中单元格背景色。可读,可通过上位机修改,可通过指令修改。

pco2属性 -选中单元格字体色。可读,可通过上位机修改,可通过指令修改。

hig属性 -单元格高度/宽度(16-255,上下展开时表示高度;左右展开时表示宽度)。可读,可通过上位机修改,可通过指令修改。

down属性 -单元格展开状态:0-收缩;1-展开。可读,可通过上位机修改,可通过指令修改。

mode属性 -单元格可滑动标识类型:0-无显示;1-仅显示三角形;2-显示背景+三角形。可读,可通过上位机修改,可通过指令修改。

wid属性 -单元格可滑动标识高度/宽度(8-255,上下展开时表示高度;左右展开时表示宽度)。可读,可通过上位机修改,可通过指令修改。

vvs1属性 -单元格可滑动标识与单元格间距(0-255)。可读,可通过上位机修改,可通过指令修改。

ch属性 -滑动惯性力度(0-32,0为无惯性)。可读,可通过上位机修改,可通过指令修改。

x属性 -控件的X坐标。可读,可通过上位机修改,x系列可通过指令修改,其他系列不可通过指令修改。

y属性 -控件的Y坐标。可读,可通过上位机修改,x系列可通过指令修改,其他系列不可通过指令修改。

w属性 -控件的宽度。可读,可通过上位机修改,不可通过指令修改。

h属性 -控件的高度。可读,可通过上位机修改,不可通过指令修改。