按键模式对应菜单控件

通过简单的配置,显示一个图标菜单,通过按键调用控件的上下方法移动菜单选择项;确认按钮进入对应界面

属性:

属性名 描述 默认值 备注
x1 0
y1 0
x2 479
y2 319
status 状态寄存器 0
status2 0
dotm 显示汉字的点阵大小 16 16~64点阵汉字
cc 显示汉字的颜色 15
bc 背景色 11 预留,目前未用
selc 选择框颜色 3
boxc 外边框颜色 15
seln 选择项目 0
picn 图标库的图号 0
xn 图标库X方向图标数量 0
yn 图标库Y方向图标数量 0
itemH menu子项高度 40
px1 图标距左侧宽度 10
px2 标题距左侧宽度 60
memo 存储菜单信息,一行一个

属性设置:

可以看到该图片的属性:

该图片横向有4个图标,纵向有5个图标,共4X5=20个图标;背景是黑色背景,因此我们设置该图为透明图,指定透明色为黑色(颜色值=0);可以看到,生成之后的图片序号为5 号,因此:

属性设置中,picn=5 第5号图; xn=4 表示横向有4个图标 yn=5 表示纵向有5个图标

以 “0|1|大字界面|1” 这一行为例:

内容 说明
0 预留
1 1号图标,刚才图标图片有4X5个图标,先横后竖,给图标编号0~19
大字界面 菜单显示文字
1 点击后跳转到的页面编号

可以看到制作的一个菜单想当的简单

方法

方法名称 描述
up() 菜单向上移动一格
down() 菜单向下移动一格
ok() 菜单选中

与按键配合

void page.onkey(int t,int k)
{
     if (t==2){
            //按钮弹起事件
            k=k>>8;
            if ((k&1)==0){
                m1.up();
            }
            if ((k&2)==0){
                   m1.down();
            }
            if ((k&16)==0){
                m1.ok();
            }
            //echo(m1.seln);
        }
}

在按键代码中,调用控件的up() down() 进行菜单显示变化,ok()方法选中执行;

具体按键模式参见非触摸屏的按键模式