Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Cho mình hỏi về bộ định thời?

  1. #1
    Ngày gia nhập
    11 2007
    Bài viết
    22

    Mặc định Cho mình hỏi về bộ định thời?

    Cho mình hỏi cách dùng bộ định thời để cập nhật một sự kiện nào đó, ví dụ như cứ mỗi 5s thì lại thực hiện công việc A một lần. Thanks nhiều

  2. #2
    Ngày gia nhập
    10 2007
    Nơi ở
    /root
    Bài viết
    318

    Để dùng bộ định thời cập nhật một sự kiện nào đó, bạn thiết lập thời gian cho bộ định thời WM_TIMER bằng hàm :
    PHP Code:
    SetTimer(
      
    HWND hWnd,              // handle to window
      
    UINT_PTR nIDEvent,      // timer identifier
      
    UINT uElapse,           // time-out value
      
    TIMERPROC lpTimerFunc   // timer procedure
    ); 

    Ở trường hợp của bạn , xử lý sự kiện cứ mỗi 5 giây 1 lần bạn có thể thiết lập bộ định thời bằng thiết lập :

    PHP Code:
    #define ID_TIMER 101
    SetTimer(hwnd,ID_TIMER,5000,NULL); // Thơi gian tính bằng mili giây . 
    và trong WinProc bạn thiết lập WM_TIMER với việc thực hiện công việc A
    Để hủy thiết lập thời gian , bạn gọi :
    PHP Code:
    KillTimer(hwnd,ID_TIMER); 
    Đã được chỉnh sửa lần cuối bởi Tab : 03-03-2008 lúc 04:32 PM.

  3. #3
    Ngày gia nhập
    07 2007
    Nơi ở
    Hồ Chí Minh
    Bài viết
    66

    Có 2 trường cách xài.
    Bạn có thể xài 1 callback để dc gọi, hoặc là bắt lấy WM_TIMER và kiểm tra IDTIMER.
    Nếu xài Callback thì phải cung cấp 1 hàm ngay phần TimerProc
    Visual C++ Code:
    1. SetTimer(
    2.   HWND hWnd,              // handle to window
    3.   UINT_PTR nIDEvent,      // timer identifier
    4.   UINT uElapse,           // time-out value
    5.   TIMERPROC lpTimerFunc   // timer procedure
    6. );
    Visual C++ Code:
    1. VOID CALLBACK TimerProc(          HWND hwnd,
    2.     UINT uMsg,
    3.     UINT_PTR idEvent,
    4.     DWORD dwTime
    5. );
    Còn ngược lại thì bạn cho NULL ngay phần CallBack và bắt lấy WM_TIMER Để kiểm tra IDTimer(wParam)
    Thèm khát con gái !!
    ......................

  4. #4
    Ngày gia nhập
    11 2007
    Bài viết
    22

    Thanks hai mod mình làm đc rồi.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn