MEDO:钟表和电子表(一)

这个例子包括一个用轻量级控件编写的钟表部分和一个使用类模块来实现“数字绘画”的方式编写的电子表。

设计过程:

Ⅰ、技术要领:

钟表:

①表盘的绘制(包括表盘的边框、三个指针的绘制以及表盘上的数字的绘制)

②用timer控件获得当前时间

③三个指针走动

电子表:

①类模块的建立

②绘画数字的过程

Ⅱ、设计过程

①构思:

钟表:

表盘的绘画就使用轻量级控件--line控件、shape控件来进行绘画,之于表盘上的数字,我用了一个标签数组来动态添加到盘中。当然在这个设计过程中,表盘的坐标设计至关重要。表盘的坐标用了一个圆心(X,Y)和一个半径控制,它制约了标签的left和top即标签的位置和随后绘画出三个指针的走动。

我用timer控件获得当前时间,并在期间设立了三个过程分别画三个指针的走动。具体的走动就是通过三个指针走过的角度来通过三个line控件的坐标控制走动。

电子表:

首先是通过建立类模块来实现画电子表的功能的。电子表出现的十个数字(0-9)具体的形状为

R

如果想画出数字1   就直接画2和3的线;如果想画数字5就直接画1、6、7、3、4 的线

根据这种方式所以在类模块中写了7个过程分别画上面的7条线,另外在类模块中写十个过程分别对应调用上面的7个过程来完成0-1的绘画。这其中还有要注意的就是 上面的1-7线是由三条细线组成,也就是说完成上面1-7线的绘画要调用三个line方法,并且这些线的组合成数字的时候有一些细节要注意(读者应该在我下面的代码中体会到)

之后在在主窗体中实例化类,用来显示电子表。

②界面设计

DEMO:钟表和电子表(二)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值