home *** CD-ROM | disk | FTP | other *** search
- // ballview.cpp : implementation file
- //
-
- #include "stdafx.h"
- #include "ball.h"
- #include "ballview.h"
-
- #ifdef _DEBUG
- #undef THIS_FILE
- static char BASED_CODE THIS_FILE[] = __FILE__;
- #endif
-
- /////////////////////////////////////////////////////////////////////////////
- // CBallView
-
- IMPLEMENT_DYNCREATE(CBallView, CFormView)
-
- CBallView::CBallView()
- : CFormView(CBallView::IDD)
- {
- //{{AFX_DATA_INIT(CBallView)
- m_AutoRepeat = FALSE;
- //}}AFX_DATA_INIT
- }
-
- CBallView::~CBallView()
- {
-
- ///////////////////////
- // MY CODE STARTS HERE
- //////////////////////
-
- // Delete the 11 bitmaps.
- for (int i=0; i<11; i++)
- delete m_pB[i];
-
- ////////////////////
- // MY CODE ENDS HERE
- ////////////////////
-
- }
-
- void CBallView::DoDataExchange(CDataExchange* pDX)
- {
- CFormView::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CBallView)
- DDX_Check(pDX, IDC_AUTO_REPEAT, m_AutoRepeat);
- //}}AFX_DATA_MAP
- }
-
-
- BEGIN_MESSAGE_MAP(CBallView, CFormView)
- //{{AFX_MSG_MAP(CBallView)
- ON_BN_CLICKED(IDC_START_BUTTON, OnStartButton)
- ON_WM_TIMER()
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
-
-
- /////////////////////////////////////////////////////////////////////////////
- // CBallView message handlers
-
- //////////////////////
- // MY CODE STARTS HERE
- //////////////////////
-
- void CBallView::OnInitialUpdate()
- {
-
- // Load IDB_BITMAP1
- m_pB[0] = new CBitmap;
- m_pB[0]->LoadBitmap(IDB_BITMAP1);
-
- // Load IDB_BITMAP2
- m_pB[1] = new CBitmap;
- m_pB[1]->LoadBitmap(IDB_BITMAP2);
-
- // Load IDB_BITMAP3
- m_pB[2] = new CBitmap;
- m_pB[2]->LoadBitmap(IDB_BITMAP3);
-
- // Load IDB_BITMAP4
- m_pB[3] = new CBitmap;
- m_pB[3]->LoadBitmap(IDB_BITMAP4);
-
- // Load IDB_BITMAP5
- m_pB[4] = new CBitmap;
- m_pB[4]->LoadBitmap(IDB_BITMAP5);
-
- // Load IDB_BITMAP6
- m_pB[5] = new CBitmap;
- m_pB[5]->LoadBitmap(IDB_BITMAP6);
-
- // Load IDB_BITMAP7
- m_pB[6] = new CBitmap;
- m_pB[6]->LoadBitmap(IDB_BITMAP7);
-
- // Load IDB_BITMAP8
- m_pB[7] = new CBitmap;
- m_pB[7]->LoadBitmap(IDB_BITMAP8);
-
- // Load IDB_BITMAP9
- m_pB[8] = new CBitmap;
- m_pB[8]->LoadBitmap(IDB_BITMAP9);
-
- // Load IDB_BITMAP10
- m_pB[9] = new CBitmap;
- m_pB[9]->LoadBitmap(IDB_BITMAP10);
-
- // Load IDB_BITMAP11
- m_pB[10] = new CBitmap;
- m_pB[10]->LoadBitmap(IDB_BITMAP11);
-
- }
-
- ////////////////////
- // MY CODE ENDS HERE
- ////////////////////
-
- ///////////////////////
- // MY CODE STARTS HERE
- ///////////////////////
-
- void CBallView::OnDraw(CDC* pDC)
- {
-
- // Create a memory DC.
- CDC* pMemDC = new CDC;
- pMemDC->CreateCompatibleDC(pDC);
-
- // Select the bitmap into the memory DC.
- pMemDC->SelectObject( m_pB[0] );
-
- // Copy the bitmap from the memory DC into the screen DC.
- pDC->BitBlt(10,10,500,500,pMemDC,0,0,SRCCOPY);
-
- // Delete the memory DC.
- delete pMemDC;
-
- }
-
- ////////////////////
- // MY CODE ENDS HERE
- ////////////////////
-
- void CBallView::OnStartButton()
- {
- // TODO: Add your control notification handler code here
-
-
- //////////////////////
- // MY CODE STARTS HERE
- //////////////////////
-
- // Initialize the current frame number to 0.
- m_CurrentFrame = 0;
-
- // Install a system timer.
- if ( SetTimer (1, 200, NULL) == 0 )
- MessageBox ("Cannot install timer!!!");
-
- ////////////////////
- // MY CODE ENDS HERE
- ////////////////////
-
-
- }
-
- void CBallView::OnTimer(UINT nIDEvent)
- {
- // TODO: Add your message handler code here and/or call default
-
- //////////////////////
- // MY CODE STARTS HERE
- //////////////////////
-
- // Increment the current frame number.
- m_CurrentFrame++;
-
- // Is it the end of the show?
- if (m_CurrentFrame==11)
- {
-
- // Reset the frame number.
- m_CurrentFrame=0;
-
- // If Auto Repeat not requested, kill the timer.
- UpdateData(TRUE);
- if (m_AutoRepeat == FALSE)
- KillTimer(1);
-
- }
-
- // Get a dc for the screen.
- CClientDC dc(this);
-
- // Create a memory DC.
- CDC* pMemDC = new CDC;
- pMemDC->CreateCompatibleDC(&dc);
-
- // Select the bitmap into the memory DC.
- pMemDC->SelectObject( m_pB[m_CurrentFrame] );
-
- // Copy the bitmap from the memory DC into the screen DC.
- dc.BitBlt(10,10,550,500,pMemDC,0,0,SRCCOPY);
-
- // Delete the memory DC.
- delete pMemDC;
-
- ////////////////////
- // MY CODE ENDS HERE
- ////////////////////
-
-
- CFormView::OnTimer(nIDEvent);
- }
-