第一种方式,消息方式WM_TIMER
#define ID_TIMER 1001
switch (message)
{
case WM_CREATE:
SetTimer(hWnd, ID_TIMER, 1000, NULL);
break;
case WM_TIMER:
SetClassLongPtr(hWnd, GCLP_HBRBACKGROUND, (long)CreateSolidBrush(RGB(rand() % 256, rand() % 256, rand() %256)));
InvalidateRect(hWnd, NULL, TRUE);
break;
第二种方式,回调函数方式CALLBACK TimerPro
void CALLBACK TimerPro(HWND, UINT, UINT, DWORD);
case WM_CREATE:
SetTimer(hWnd, ID_TIMER, 1000, TimerPro);
break;
void CALLBACK TimerPro(HWND hWnd, UINT message, UINT iTmerid, DWORD dwTime)
{
SetClassLongPtr(hWnd, GCLP_HBRBACKGROUND, (long)CreateSolidBrush(RGB(rand() % 256, rand() % 256, rand() % 256)));
InvalidateRect(hWnd, NULL, TRUE);
}