을 종료 할 일으키는 경우 이상한 :문 그래서 나는 다음과 같은 내려고 노력했습니다 타이머를
LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hDC; // Display context handle
PAINTSTRUCT PaintSt; // Structure defining area to be drawn
RECT aRect; // A working rectangle
HPEN hPen; // A working pen
HBRUSH hBrush; // A working brush
switch(message)
{
case WM_TIMER:
switch(wParam)
{
case IDT_TIMER1:
redraw = true;
InvalidateRect(hWnd, NULL, TRUE);
case IDT_TIMER2:
if(keys[UP])
{
rect2.bottom -= 5;
rect2.top -= 5;
}
if(keys[DOWN])
{
rect2.bottom += 5;
rect2.top += 5;
}
if(keys[RIGHT])
{
rect2.left += 5;
rect2.right += 5;
}
if(keys[LEFT])
{
rect2.left -= 5;
rect2.right -= 5;
}
}
return 0;
case WM_PAINT:
//if(redraw)
{
redraw = false;
render_frame();
}
return 0;
case WM_KEYDOWN:
switch(wParam)
{
case VK_UP:
keys[UP] = true;
break;
case VK_DOWN:
keys[DOWN] = true;
break;
case VK_LEFT:
keys[LEFT] = true;
break;
case VK_RIGHT:
keys[RIGHT] = true;
break;
default:
break;
}
return 0;
case WM_KEYUP:
switch(wParam)
{
case VK_UP:
keys[UP] = false;
break;
case VK_DOWN:
keys[DOWN] = false;
break;
case VK_LEFT:
keys[LEFT] = false;
break;
case VK_RIGHT:
keys[RIGHT] = false;
break;
default:
break;
}
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hWnd, message, wParam, lParam); // default message processing
}
}
그래서 여기
문제의 다음 경우 WM_PAINT에서 :, 나는 if 문 주석을 해제, 시간을 웬일인지 똑딱 거리는 소리. 나는 왜 그걸 어떻게 상관 시킬지 모르겠다. 따라서 주석을 제거하면 렌더링되지 않으며 다른 타이머 (두 개의 타이머가 있음)에서 정보를 수신하지도 않습니다. 도와주세요. 바보라면 웃지 마세요.
'render_frame'이'WindowProc'을 다시 호출하는 것을 할 수 있습니까? 당신은 멋지고 무한한 기능을 가지고 있습니다. – qdii
'case IDT_TIMER1 : redraw = true; InvalidateRect (hWnd, NULL, TRUE); case IDT_TIMER2 :'여기에 '휴식'이 없을 것입니다. – chris