第八章 8-1 计时器

来源:互联网 发布:淘宝店铺红包如何使用 编辑:程序博客网 时间:2024/05/20 00:12

这里写图片描述

计时器的两种方式

1,

#define ID_TIMER 1case WM_CREATE:        //在窗口建立的时候设置计时器        SetTimer(hWnd, ID_TIMER, 2000, NULL);//2000表示2000毫秒,也就是2秒        break;        //处理计时器发出的消息case WM_TIMER:        fFlipFlop = !fFlipFlop;        InvalidateRect(hWnd, NULL, FALSE);//整个客户区都失效        break;case WM_DESTROY:        //在窗口销毁的时候删除计时器        KillTimer(hWnd, ID_TIMER);        PostQuitMessage(0);        break;

2,

VOID CALLBACK    TimerProc(HWND, UINT, UINT, DWORD);//声明函数#define TIMER 1case WM_CREATE:        SetTimer(hWnd, ID_TIMER, 2000, TimerProc);//计时到的时候将消息发给TimerProc函数        break;case WM_DESTROY:        //在窗口销毁的时候删除计时器        KillTimer(hWnd, ID_TIMER);        PostQuitMessage(0);        break;VOID CALLBACK TimerProc(HWND hWnd, UINT message, UINT iTimerID, DWORD dwTime){    static BOOL fFlipFlop = FALSE;    HBRUSH hBrush;    HDC hdc;    RECT rect;    MessageBeep(-1);    fFlipFlop = !fFlipFlop;    GetClientRect(hWnd, &rect);    InvalidateRect(hWnd, &rect, FALSE);    hdc = GetDC(hWnd);    hBrush = CreateSolidBrush((fFlipFlop ? RGB(255, 0, 0) : RGB(0, 0, 255)));    FillRect(hdc, &rect, hBrush);    ReleaseDC(hWnd, hdc);    DeleteObject(hBrush);}
0 0
原创粉丝点击