1、Private Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long dim lngTickCount as long lngTickCount=GetTickCount() 2-1、Private Declare Function SetTimer Lib "user32" Alias "SetTimer" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long 'uElapse 以毫秒计的超时时间 Private Declare Function KillTimer Lib "user32" Alias "KillTimer" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long Private Sub Form_Load() SetTimer me.hwnd,1,1,Addressof 我是Timer的回调函数 End Sub Private Sub Form_Unload() KillTimer me.hwnd,1 End Sub 2-2、 在工程中添加一个标准模块,并在里面声明一个公有过程。假设为: public Sub 我是Timer的回调函数(byval hwnd as long,byval uMsg as long,byval idEvent as long,byval dwTime as long) ...... end Sub '过程名可以改,参数名可以改,但参数数量,参数的数据类型不可改动。切记,切记! Addressof 我是Timer的回调函数 就是你想要的回调函数地址. 参数 hwnd 就是接到WM_TIMER消息的窗口的句柄 uMsg=WM_TIMER idEvent 就是产生WM_TIMER消息的Timer的标识 dwTime 就是系统启动以来到发送这个消息经历的以毫秒计的时间OK ?:)
dim lngTickCount as long
lngTickCount=GetTickCount()
2-1、Private Declare Function SetTimer Lib "user32" Alias "SetTimer" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long 'uElapse 以毫秒计的超时时间
Private Declare Function KillTimer Lib "user32" Alias "KillTimer" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Private Sub Form_Load()
SetTimer me.hwnd,1,1,Addressof 我是Timer的回调函数
End Sub
Private Sub Form_Unload()
KillTimer me.hwnd,1
End Sub
2-2、
在工程中添加一个标准模块,并在里面声明一个公有过程。假设为:
public Sub 我是Timer的回调函数(byval hwnd as long,byval uMsg as long,byval idEvent as long,byval dwTime as long)
......
end Sub '过程名可以改,参数名可以改,但参数数量,参数的数据类型不可改动。切记,切记!
Addressof 我是Timer的回调函数 就是你想要的回调函数地址.
参数 hwnd 就是接到WM_TIMER消息的窗口的句柄
uMsg=WM_TIMER
idEvent 就是产生WM_TIMER消息的Timer的标识
dwTime 就是系统启动以来到发送这个消息经历的以毫秒计的时间OK ?:)