학습목표    1

학습주제    1

예습내용    1

실습방법    1

        1

중요함수    1

비트맵 애니메이션

학습목표

비트맵을 가지고 애니메이션 프로그램을 만든다.

학습주제

0.2초마다 동작하는 타이머 함수를 만들고 때마다 새로운 그림을 보여 준다.

예습내용

지난주 비트맵 프로그램을 내려 받아서 프로그램 한다.

[전체프로그램 내려받기]

실습방법

   

1. 타이머를 설정한다.

 

2. 비트맵을 출력하는 DrawBitmap() 함수를 만든다.

 

void CBMPView::DrawBitmap()

{

              static int nAnimate;

              CClientDC dc(this);

 

              // 호환성 있는 메모리 DC 생성

              CDC MemDC;

              MemDC.CreateCompatibleDC(&dc);

 

              // 리소스에서 비트맵을 읽어 들여 DC 선택

              CBitmap bitmap;

              bitmap. LoadBitmap(IDB_MAN);

              CBitmap *pOldBitmap = (CBitmap *)MemDC.SelectObject(&bitmap);

 

              // 비트맵 블록 전송

              dc.BitBlt(50, 50, 32, 32, &MemDC, 32*nAnimate, 0, SRCCOPY);

 

              // 애니메이션 카운터를 증가시킴

              if(++nAnimate > 3) nAnimate = 0;

 

              MemDC.SelectObject(pOldBitmap);

}

 

3. 타이머 함수에 DrawBitmap() 함수를 넣는다.

 

void CBMPView::OnTimer(UINT nIDEvent)

{

              // TODO: Add your message handler code here and/or call default

              DrawBitmap();

              CView::OnTimer(nIDEvent);

}

 

4. 프로그램이 시작될 자동으로 수행되는 OnInitialUpdate() 함수를 만들고 여기에 타이머가 0.2 마다 동작하게 함다.

 

void CBMPView::OnInitialUpdate()

{

              CView::OnInitialUpdate();

             

              // TODO: Add your specialized code here and/or call the base class

              SetTimer(0,200,NULL);

}

 

처음

   

 

중요함수