注册 登录
编程论坛 VFP论坛

新做了一个倒计时类,但愿你设计用户界面时能用得上。代码公开了,需要就拿走。

厨师王德榜 发布于 2016-07-05 17:11, 7945 次点击
如题,我做这个和“离XX节日还有XX天XX秒”不同(那个我觉得没啥用,花哨给别人看的),我这个是当时给别人做考试系统,用于倒计时的,偏向于实用。由于考试系统中,很多界面需要倒计时,于是把它做成类,方便开发。如图,是运行效果:
只有本站会员才能查看附件,请 登录

支持几个扩展功能(拖拽、缩放、允许用户改变字体)。效果如图:
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录

设计时,把本类拖到表单或其它容器就行:
只有本站会员才能查看附件,请 登录

其它说明:
1、如果需要在表单(或其它容器)上能拖拽,那么在本类的父容器的DragDrop方法,需加上以下代码:
LPARAMETERS oSource, nXCoord, nYCoord
oSource.Left = nXCoord - THIS.XOffset
oSource.Top = nYCoord - THIS.YOffset
本来想在类的INIT中完成的,但是实验了WriteMethod方法,尝试用这个方法去写父容器的方法不成功,发现WriteMethod方法只能在设计时用,所以,我也没想到其它更好的办法,好在反正用这个类的,也不是最终用户。不知道各位前辈有没有什么好的办法?
2、怎么激活计时功能?
用户在父容器中,用任何控件(比如最常见的按钮,传递一个字串,作为参数,给类的Init就行了),比如,表单上,某按钮的Click代码:
thisform.daojishi1.Init("0")
这里的字串“0”就是参数,当本类接收到1到6个“0”为参数时,本类作为时钟,开始启动。如果需要倒计时,那么传递一个不为0的6位字串给类的INII,例如:
thisform.daojishi1.Init("013000")
这里的字串“013000”表示从1小时30分0秒开始倒计时,本类会立即启动倒计时,下一秒会按倒计时规则,显示为:“01:29:59”……
3、参数的要求,要么是1到6个“0”,要么是6位数字组成的字串,且字串的前两位(表示小时)不能大于23,中间和后面两位(表示分钟、秒)不能大于59,
如果传递的参数不对,本类会显示“88:88:88”,表示参数错误。
4、本类最佳的字体是“DS-Digital”也就是俗称的“液晶体”,不过,可能你的电脑上没这个字体,没有的话也不影响使用,只是界面没那么好看。

其它的,也不多说了,如果能你在开发用户界面时,能用得上,我也会很高兴的。
只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2016-7-5 17:18编辑过]

13 回复
#2
吹水佬2016-07-05 18:40
多谢分享
#3
tlliqi2016-07-05 18:56
多谢
#4
wengjl2016-07-06 09:01

下了,谢了!
#5
hyswcyh012016-07-17 12:37
有用,谢谢!
#6
hu9jj2016-07-17 19:10
不错,支持!
#7
编程20162016-09-02 09:27
路过,学习
#8
wanguhssheng2016-09-13 13:56
谢谢 分享 !
#9
山狼LS2016-09-13 22:14
多谢,
#10
caohongyi2016-09-18 15:38
谢谢,非常感谢
#11
hyswcyh2016-09-18 21:53
谢谢!东东不错。
#12
pjtyzyq2016-09-19 16:33
多谢分享!
#13
神创爱丽丝2018-03-07 09:10
这个是什么语言写的?
#14
cwnet2022-11-28 15:08
感谢分享!
1