zoukankan      html  css  js  c++  java
  • VB6.0调用SetTimer实现定时器

    Timer.bas:
    Option Explicit

    Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
    Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long

    Public Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
    MsgBox Now()
    End Sub
    窗体代码:
    Option Explicit

    Dim lngTimerID As Long
    Dim BlnTimer As Boolean

    Private Sub Form_Load()
    BlnTimer
    = False
    Command1.Caption
    = "定时开始"
    End Sub

    Private Sub Form_Unload(Cancel As Integer)
    KillTimer
    0, lngTimerID
    End Sub

    Private Sub Command1_Click()
    If BlnTimer = False Then
    '每5秒钟调用一次函数
    lngTimerID = SetTimer(0, 0, 5000, AddressOf TimerProc)
    BlnTimer
    = True
    Command1.Caption
    = "定时结束"
    Else
    KillTimer
    0, lngTimerID
    BlnTimer
    = False
    Command1.Caption
    = "定时开始"
    End If
    End Sub
    说明:
    TimerProc函数定义一定要放在bas模块文件中,否则运行代码"lngTimerID = SetTimer(0, 0, 5000, AddressOf TimerProc)"会报错,
    提示:操作符 AddressOf 使用无效。
  • 相关阅读:
    顺序容器2(用法)
    运算符重载
    IO相关3(string流)
    IO相关2(文件输入输出)
    C语言--指针
    Java---匿名类
    Andriod开发 --插件安装、环境配置、问题集锦
    ubuntu--vim 技巧
    ubuntu--命令大全
    各浏览器userAgent汇总
  • 原文地址:https://www.cnblogs.com/MyFavorite/p/2060208.html
Copyright © 2011-2022 走看看