利用KERNEL32 API函数实现的通延时函数DELAY():
使用这个函数,就能轻松的实现启动窗体时需要延时几秒钟的愿望了,而且,不会因为机器性能的不同,而造成动态效果有太大的差别,因为依靠的是时间的间隔(当然,如果还是486就不好说了),精度在0.05秒左右。
使用这个函数,就能轻松的实现启动窗体时需要延时几秒钟的愿望了,而且,不会因为机器性能的不同,而造成动态效果有太大的差别,因为依靠的是时间的间隔(当然,如果还是486就不好说了),精度在0.05秒左右。
Public Declare Function GetTickCount Lib "kernel32" () As Long
Const MS_DELAY = 50 '20FPS
Public Function Delay(Times As Single)
Dim mblnRunning As Boolean
Dim mlngTimer As Long
Dim caculate As Single
mblnRunning = True
caculate = 0
Do While mblnRunning And caculate < Times
If mlngTimer + MS_DELAY <= GetTickCount() Then
mlngTimer = GetTickCount()
caculate = caculate + 0.05
End If
DoEvents 'Important,or you can do nothing while delaying!
Loop
End Function
博客展示了一段代码,通过Public Declare调用kernel32库的GetTickCount函数,定义了常量MS_DELAY。同时实现了一个Delay函数,在函数内部通过循环和GetTickCount函数计算时间,结合DoEvents语句避免延迟时无法操作,实现延迟功能。
1224

被折叠的 条评论
为什么被折叠?



