본문 바로가기
::public/윈도우즈 응용 프로그래밍

Timer

by 해맑은욱 2019. 9. 24.

;일정한 시간 간격으로 반복적인 작업을 하고 싶을 경우 사용.

 

*SetTimer

int g_count = 0;
void CALLBACK MyTimerFunc(HWND hWnd, UINT nMsg, UINT_PTR nIDEvent, DWORD dwTime)
{
    g_count++;
 
    HDC h_dc = GetDC(hWnd);
    TextOutA(h_dc, 1010 + g_count * 20"Timer Test 1"12);
}
 
// 사용자가 메시지를 처리하는 함수.
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
     HDC h_screen_dc = ::GetDC(NULL);    // 모니터 전체 화면용 DC
     HDC h_dc = ::GetDC(hWnd);    // 현재 윈도우용 DC
    switch (message)
    {
    case WM_CREATE:
        SetTimer(hWnd, 11000, MyTimerFunc);    // 생성된 함수 호출.
        SetTimer(hWnd, 21000NULL);            // WM_TIMER 메시지 발생.
        break;
    case WM_TIMER:
        TextOutA(h_dc, 10010 + g_count * 20"Timer Test 2"12);
        break;
    case WM_DESTROY:
        KillTimer(hWnd, 1);
        KillTimer(hWnd, 2);
        // 프로그램 종료
        PostQuitMessage(0);
        break;
    default:
        // 자신이 처리하지 않는 메시지들의 기본 작업을 대신 처리해주는 함수.
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
cs

'::public > 윈도우즈 응용 프로그래밍' 카테고리의 다른 글

Direct2D 사용하기  (0) 2019.09.25
Direct2D  (0) 2019.09.25
오목 만들기(결과로직 없음)  (0) 2019.09.24
MessageBox  (0) 2019.09.24
Bitmap 복사  (0) 2019.09.24