关健还是画图的算法问题,及表示设备状态的图元结构设计问题。如设计一个简单的水位计,
|_____| |
| |
| |
| |
|_____|
先设计一个水位计类
class CWaterLevel
{
int MaxLevel;
int currentLevel;
DrawRect(int level);
}waterLever;
根据水位的高度画出一个有填充色矩形。就可以,水位的数据肯定是动态的,不断变化的,
只需要用一个定时器来不停的调用这个类的画图的函数就可动态的表示这个水位计的水位的
状态。
ontime //定时事件
{
OnPaint();
}
onPaint()//窗体的重画事件
{
waterLevel.drawRect;//画水位的函数
}
这样从视觉上看,水位就是动态的变化的,因为所画的矩形的高低是不断的变化的。在重画事件
里,窗体不断的擦除以前的图,再重画当前的图,一点也不影响。
更复杂的动画都是同样的道理,如画一个表示压力表,只需要首先画一个规划化的弧形
刻度计,然后根据传进来的压力数据,不断的重画这个压力计的表针,就可。
当然如果不想让图像抖动的太厉害,要考虑重画的方式。