标题:新做了一个倒计时类,但愿你设计用户界面时能用得上。代码公开了,需要就拿 ...
取消只看楼主
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
结帖率:100%
 问题点数:0 回复次数:0 
新做了一个倒计时类,但愿你设计用户界面时能用得上。代码公开了,需要就拿走。
如题,我做这个和“离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”也就是俗称的“液晶体”,不过,可能你的电脑上没这个字体,没有的话也不影响使用,只是界面没那么好看。

其它的,也不多说了,如果能你在开发用户界面时,能用得上,我也会很高兴的。
倒计时类.zip (14.57 KB)


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

收到的鲜花
  • tlliqi2016-07-05 18:57 送鲜花  50朵   附言:多谢
  • hu9jj2016-07-17 19:20 送鲜花  50朵   附言:好文章
  • baichuan2016-07-20 09:00 送鲜花  10朵   附言:好文章
搜索更多相关主题的帖子: 考试系统 用户 开发 
2016-07-05 17:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-466669-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.561892 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved