win8风格显示控件

不少usartGPU的用户还是对win8界面情有独钟,因为可以没有美工基础做出漂亮的界面,但是usartGPU中方便的组合语句在sHMIctrl这种控件机制下显得不是很切合,虽说如此,我们还是制作了一个控件,可以用这个控件通过多个这样的控件完成win8界面的显示。

属性:

属性名 描述 默认值 备注
x1 左上角X1坐标 0
y1 左上角y1坐标 0
x2 右下角X2坐标 200
y2 右下角y2坐标 160
status 状态寄存器 128 这里设置定时值可以驱动随机数演示
status2 状态寄存器 0
boxnum win8box的颜色配色方案编号 1

事件:

事件名 描述 备注
onclick 在此书写按钮按下后的代码

使用方法:

把控件放在页面上之后,需要在页面代码中继承控件的show方法,从而完成单独控件的显示,该控件和按钮控件一样,支持onclick方法

void w1.show()
{
    super.show();   //调用原控件的父方法显示外框
    sxy(w1.x1,w1.y1);   //偏移原点,这样下面的语句方便定位
    sbc(50+boxnum);     //设置背景色为方框背景色
    //在此书写该box内的显示界面,由于使用了SXY语句,因此方框左上角坐标被偏移成(0,0)
    sxy(0,0);
}

可以看到继承w1.show方法后,控件显示的内容就可以由语句控制了;如果需要在方框内显示透明图,请参见boxsbc 语句。

配色方案

我们已经将metro配色方案封装到原始默认的颜色值中:

方案号(boxnum 1~9) 边框色(对应颜色号41~49) 方框背景色(对应颜色号51~59)
1 41-0x75d7 51-0x44f4
2 42-0x3b94 52-0x23bd
3 43-0xdb8b 53-0xd245
4 44-0x9bcb 54-0x8505
5 45-0x7bd7 55-0x5295
6 46-0xd4c9 56-0xd3e2
7 47-0x824f 57-0x60a8
8 48-0x956b 58-0x7cc5
9 49-0x9317 59-0x7194