概述

由于控件的自刷新特性,很多控件编制的时候就可以非常简单。所谓的自刷新特性,就是当控件属性发生变化后,系统自动会调用控件的show()方法进行属性刷新;

控件编制的最重要的思想

int ts=0; //状态计数,这就是动态效果的步骤计数

void show()
{    //在此书写刷新前景的语句
    automode(bc);
    gradbasecolor(color,bmode);
    if (ts==0){
        box(x1,y1,x2,y2,19);
        box(x1+1,y1+1,x2-1,y2-1,bc);
    }
    else{    //按下的动态效果
        box(x1,y1,x2,y2,20-ts);
        box(x1+1,y1+1,x2-1,y2-1,20-ts);
    }
    label(dotm,x1+2,y1+2,x2-2,y2-2,text,cc,bc,1);
}

void ontimer()
{   //在此书写有关定期器对数据的修改代码
    if (ts>0) ts--;
}

可以看到在定时器中对动态效果步骤的计算结果,由于控件的自刷新特性系统会自动调用show()方法来进行显示,于是代码显得非常简单

同样,触摸事件也可以按此方法直接变更属性,然后交由show()事件来更新显示;