HDC hdc; //DC의 핸들 HDC 만들기
PAINTSTRUCT ps; //그림 그리기에 필요한 여러가지 데이터
static int x;
static int y;
switch(iMessage)
{
case WM_DESTROY: PostQuitMessage(0); return 0;
case WM_LBUTTONDOWN:
x=LOWORD(IParam);
y=HIWORD(IParam);
InvalidateRect(hWnd, NULL, TRUE); //첫번째 인자: 무효화할 윈도우
//두번째 인자: 무효화할 사각영역을 지정하되, NULL일 경우 전 영역
//세번째 인자: 무효화되기 전에 배경을 모두 지운 후 다시 그릴 것인지 아니면 배경을 지우지 않고 그릴 것인지를 지정한다. 이 값이 TRUE 이면 배경을 지운 후 다시 그리고 FALSE이면 배경을 지우지 않은 채로 다시 그린다.
return 0;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps); // 윈도우 핸들과 페인트 정보 구조체
Ellipse(hdc, x-100, y-100, x+100, y+100); //원그리기
EndPaint(hWnd, &ps);
return 0;
case WM_KEYDOWN:
switch(wParam)
{
case VK_LEFT:
x-=10;
break;
case VK_RIGHT:
x+=10;
break;
case VK_UP:
y-=10;
break;
case VK_DOWN:
y+=10;
break;
}
InvalidateRect(hWnd, NULL, TRUE);
}