开发报告MICROSOFT基础类库:tiger项目概述:应用程序向导已为您创建了这个tiger应用程序。此应用程序不仅演示Microsoft基础类的基本使用方法,还可作为您编写应用程序的起点。本文件概要介绍组成tiger1应用程序的每个文件的内容。tiger.vcproj这是使用应用程序向导生成的VC++项目的主项目文件。它包含生成该文件的VisualC++的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。tiger.h这是应用程序的主要头文件。它包括其他项目特定的头文件(包括Resource.h),并声明Ctiger1App应用程序类。tiger.cpp这是包含应用程序类Ctiger1App的主要应用程序源文件。tiger.rc这是程序使用的所有MicrosoftWindows资源的列表。它包括RES子目录中存储的图标、位图和光标。此文件可以直接在MicrosoftVisualC++中进行编辑。项目资源位于这是用作应用程序图标的图标文件。此图标包括在主要资源文件tiger1.rc中。res\tiger.rc2此文件包含不在MicrosoftVisualC++中进行编辑的资源。您应该将不可由资源编辑器编辑的所有资源放在此文件中。对于主框架窗口:项目包含标准MFC界面。MainFrm.h,MainFrm.cpp这些文件包含框架类CMainFrame,该类派生自CFrameWnd并控制所有SDI框架功能。res\Toolbar.bmp此位图文件用于为工具栏创建平铺图像。初始工具栏和状态栏在CMainFrame类中构造。使用资源编辑器编辑此工具栏位图,并更新tiger1.rc中的IDR_MAINFRAMETOOLBAR数组以添加工具栏按钮。应用程序向导创建一个文档类型和一个视图:tiger1Doc.h,tiger1Doc.cpp-文档这些文件包含Ctiger1Doc类。编辑这些文件可以添加特殊文档数据并可实现文件保存和加载(通过Ctiger1Doc::Serialize)。tiger1View.h,tiger1View.cpp-文档的视图这些文件包含Ctiger1View类。Ctiger1View对象用于查看Ctiger1Doc对象。其他功能:ActiveX控件应用程序包括对使用ActiveX控件的支持。打印及打印预览支持应用程序向导已通过从MFC库调用CView类中的成员函数,生成了用于处理打印、打印设置和打印预览命令的代码。其他标准文件:StdAfx.h,StdAfx.cpp这些文件用于生成名为tiger1.pch的预编译头(PCH)文件和名为StdAfx.obj的预编译类型文件。Resource.h这是标准头文件,它定义新的资源ID。MicrosoftVisualC++读取并更新此文件。tiger.manifest应用程序清单文件供WindowsXP用来描述应用程序对特定版本并行程序集的依赖性。加载程序使用此信息从程序集缓存加载适当的程序集或从应用程序加载私有信息。应用程序清单可能为了重新分发而作为与应用程序可执行文件安装在相同文件夹中的外部.manifest文件包括,也可能以资源的形式包括在该可执行文件中。其他注释:应用程序向导使用“TODO:”指示应添加或自定义的源代码部分。如果应用程序在共享的DLL中使用MFC,则需要重新发布这些MFCDLL;如果应用程序所用的语言与操作系统的当前区域设置不同,则还需要重新发布对应的本地化资源MFC90XXX.DLL。有关这两个主题的更多信息,请参见MSDN文档中有关RedistributingVisualC++applications(重新发布VisualC++应用程序)的章节。游戏执行程序//tiger1View.cpp:Ctiger1View类的实现//#includestdafx.h#includetiger1.h#includetiger1Doc.h#includetiger1View.hintmmcol;#ifdef_DEBUG#definenewDEBUG_NEW#endif//宏变量:白色和黑色#defineWHITERGB(255,255,255)#defineBLACKRGB(0,0,0)#defineBLUERGB(0,0,255)//Ctiger1ViewIMPLEMENT_DYNCREATE(Ctiger1View,CView)BEGIN_MESSAGE_MAP(Ctiger1View,CView)//标准打印命令ON_COMMAND(ID_FILE_PRINT,CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT,CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW,CView::OnFilePrintPreview)ON_WM_CREATE()ON_WM_KEYUP()ON_WM_TIMER()ON_BN_CLICKED(0xffe1,OnStartBtn)END_MESSAGE_MAP()//Ctiger1View构造/析构Ctiger1View::Ctiger1View(){//TODO:在此处添加构造代码}Ctiger1View::~Ctiger1View(){}BOOLCtiger1View::PreCreateWindow(CREATESTRUCT&cs){//TODO:在此处通过修改//CREATESTRUCTcs来修改窗口类或样式returnCView::PreCreateWindow(cs);}//Ctiger1View绘制voidCtiger1View::OnDraw(CDC*pDC){Ctiger1Doc*pDoc=GetDocument();ASSERT_VALID(pDoc);if(!pDoc)return;//TODO:在此处为本机数据添加绘制代码inti;//CBrush*oldBrush=pDC-SelectObject(blackBrush);CRectrect;GetClientRect(&rect);pDC-Rectangle(rect);pDC-SelectObject(grayBrush);pDC-Rectangle(m_iStartX,m_iStartY,m_iStartX+m_iLarge*m_iCol,m_iStartY+m_iLarge*m_iRow);//pDC-Rectangle(10,10,10+301,10+200);pDC-SelectObject(blueBrush);//CPen*oldPen=pDC-SelectObject(blackPen);//画网格线if(1){//画横线for(i=0;im_iRow;i++){pDC-MoveTo(m_iStartX,m_iStartX+i*m_iLarge);pDC-LineTo(m_iStartX+m_iLarge*m_iCol,m_iStartX+i*m_iLarge);}//画竖线for(i=0;im_iCol;i++){pDC-MoveTo(m_iStartY+i*m_iLarge,m_iStartY);pDC-LineTo(m_iStartY+i*m_iLarge,m_iStartY+m_iLarge*m_iRow);}}}//Ctiger1View打印BOOLCtiger1View::OnPreparePrinting(CPrintInfo*pInfo){//默认准备returnDoPreparePrinting(pInfo);}voidCtiger1View::OnBeginPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/){//TODO:添加额外的打印前进行的初始化过程}voidCtiger1View::OnEndPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/){//TODO:添加打印后进行的清理过程}//Ctiger1View诊断#ifdef_DEBUGvoidCtiger1View::AssertValid()const{CView::AssertValid();}voidCtiger1View::Dump(CDumpContext&dc)const{CView::Dump(dc);}Ctiger1Doc*Ctiger1View::GetDocument()const//非调试版本是内联的{ASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(Ctiger1Doc)));return(Ctiger1Doc*)m_pDocument;}#endif//_DEBUG//Ctiger1View消息处理程序intCtiger1View::OnCreate(LPCREATESTRUCTlpCreateStruct){if(CView::OnCreate(lpCreateStruct)==-1)return-1;whitePen=newCPen(PS_SOLID,1,WHITE);blackPen=newCPen(PS_SOLID,1,BLACK);grayBrush=newCBrush(RGB(0,255,255));blueBrush=newCBrush(BLUE);blackBrush=newCBrush(BLACK);//左上角X,Y坐标m_iStartX=10;m_iStartY=10;//缺省方块大小为m_iLarge个象素m_iLarge=30;m_iRow=10;m_iCol=10;m_turn=0;ani_count=3;//pDataBit1-LoadBitmaps(IDB_BITMAP1);two2one=false;three2two=false;one2three=false;report=false;IsStart=false;srand((unsigned)time(NULL));SetTimer(1,200,NULL);m_posX[0]=rand()%m_iCol;m_posX[1]=rand()%m_iCol;m_posX[2]=rand()%m_iCol;m_posY[1]=rand()%m_iRow;m_posY[2]=rand()%m_iRow;m_posY[0]=rand()%m_iRow;CBitmapButton*pDataBit1=newCBitmapButton;CBitmapButton*pDataBit2=newCBitmapButton;CBitmapButton*pDataBit3=newCBitmapButton;CButton*pStart=newCButton;CEdit*p_ColEdit=newCEdit;CEdit*p_RowEdit=newCEdit;pDataBit1-Create(老虎,WS_VISIBLE|WS_CHILD,CRect(m_iStartX+m_iLarge*m_posX[0],m_iStartY+m_iLarge*m_posY[0],m_iStartX+m_iLarge*m_posX[0]+m_iLarge,m_iStartY+m_iLarge*m_posY[0]+m_iLarge),this,0XFFF1);pDataBit2-Create(鸡,WS_VISIBLE|WS_CHILD,CRect(m_iStartX+m_iLarge*m_posX[1],m_iStartY+m_iLarge*m_posY[1],m_iStartX+m_iLarge*m_posX[1]+m_iLarge,m_iStartY+m_iLarge*m_posY[1]+m_iLarge),this,0XFFF2);pDataBit3-Create(棒子,WS_VISIBLE|WS_CHILD,CRect(m