簡體   English   中英

C++ WM_PAINT 定時器

[英]C++ WM_PAINT timer

如何讓計時器在 c++ WM_PAINT 中工作? 我正在嘗試通過 Wm_Paint“打印”它,因為目前我不知道添加計時器的另一種方法,谷歌搜索沒有幫助。

這是我在CALLBACK中聲明的內容:

TCHAR s[10], str[20] = _T("Seconds: ");
    static int t;

case WM_CREATE:


        SetTimer(hwnd, 1, 1000, NULL);

這是我嘗試繪制計時器的方式:

hdc = BeginPaint(hwnd, &ps);
        hBrush = CreateSolidBrush(g_color);
        hPen = CreatePen(PS_NULL, 1, RGB(0, 0, 0));
        holdPen = HPEN(SelectObject(hdc, hPen));
        holdBrush = (HBRUSH)SelectObject(hdc, hBrush);

_tcscat(str + 9, _itot(t, s, 10));
        TextOut(hdc, 10, 300, str, _tcsclen(str));

SelectObject(hdc, holdBrush);
        SelectObject(hdc, holdPen);
        DeleteObject(hPen);
        DeleteObject(hBrush);
        EndPaint(hwnd, &ps);

到目前為止,它只是打印出“Seconds: 0”並停止更新。

好的,為了讓它工作,我必須在我的CALLBACK function 中創建一個WM_TIMER案例,最后它看起來像這樣:

//code above

case WM_TIMER:
t++;
InvalidateRect(hwnd, NULL, TRUE);
break;

//code below

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM