윈도우즈 프로그래밍 5주차
2022. 4. 16. 03:21ㆍ학교수업
더블 버퍼링
CRect rect;
GetClientRect(&rect);
CDC memDc;
memDc.CreateCompatibleDC(&dc);
CBitmap bitmap;
bitmap.CreateCompatibleBitmap(&dc, rect.right, rect.bottom);
memDc.SelectObject(&bitmap);
memDc.Rectangle(rect);
dc.BitBlt(0, 0, rect.Width(), rect.Height(), &memDc, 0, 0, SRCCOPY);
키보드 이동
void CChildView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
CClientDC dc(this);
switch (nChar)
{
case VK_LEFT:
_rectPos.x -= 10;
break;
case VK_RIGHT:
_rectPos.x += 10;
break;
case VK_UP:
_rectPos.y -= 10;
break;
case VK_DOWN:
_rectPos.y += 10;
break;
default:
break;
}
Invalidate();
CWnd::OnKeyDown(nChar, nRepCnt, nFlags);
}
사각형 그리기
int length = 25;
CBrush brush(RGB(0, 0, 255));
dc.SelectObject(brush);
dc.Rectangle(_rectPos.x - length, _rectPos.y - length, _rectPos.x + length, _rectPos.y + length);
'학교수업' 카테고리의 다른 글
UNIX 서버 5주차 (0) | 2022.04.19 |
---|---|
UNIX서버 4주차 (0) | 2022.04.19 |
윈도우즈 프로그래밍 6주차 (0) | 2022.04.16 |
컴퓨터 구조 6주차 (0) | 2022.04.13 |
인공지능개론 6주차 (0) | 2022.04.13 |