vc 实验指导书.doc_第1页
vc 实验指导书.doc_第2页
vc 实验指导书.doc_第3页
vc 实验指导书.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

vc 实验指导书 实验一Wi ndowsGUI编程实验课程名VC程序设计专业班级12级计科(专升本)学号22姓名罗连欢实验时间xx.3.27实验地点K4-203指导教师祁文青 一、实验目的和要求掌握MFC AppWizardexe向导的使用、MFC消息映射及消息处理。 二、实验内容任务1编写一个单文档应用程序。 程序启动后在用户区显示一个方形,当用鼠标左键单击用户区后,该方形会变为圆形,如果再单击则又变回方形。 实验步骤设置一个开关变量m_bKey当其值为FALSE时,在OnDraw函数中使用函数Rectangle绘制方形;而当值为TRUE时使用函数Ellipse绘制圆形。 再定义一个成员变量m_rectRec存储方形和圆形的尺寸。 程序代码如下/在视图类声明中定义成员变量Private:BOOL m_bKey;CRect m_rectRec;/在视图类的构造函数中对成员变量进行初始化CRec_CrlView:CRec_CrlView():m_rectRec(100,100,400,400)/TODO:add constructioncode herem_bKey=FALSE;/在视图类鼠标左键按下消息中添加如下代码void CRec_CrlView:OnLButtonDown(UINT nFlags,CPoint point)if(m_bKey)m_bKey=FALSE;else m_bKey=TRUE;InvalidateRect(m_rectRec);CView:OnLButtonDown(nFlags,point);/在视图类的OnDraw函数中添加如下代码void CRec_CrlView:OnDraw(CDC*pDC)CRec_CrlDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);if(m_bKey)pDC-Ellipse(m_rectRec);else pDC-Rectangle(m_rectRec);运行结果运行结果分析圆方的变换任务2编写一个应用程序,该程序运行后在用户区绘制一个圆形,每单击鼠标左键一次,则圆的颜色会变化一次。 实验步骤 (1)在视图类声明中定义三个数据成员以描述颜色。 int m_clr1,m_clr2,m_clr3; (2)在视图类的鼠标按下消息响应函数中用下面代码改变颜色。 void CColorView:OnLButtonDown(UINT nFlags,CPoint point)m_clr1-=10;InvalidateRect(NULL);CView:OnLButtonDown(nFlags,point); (3)在视图类的OnDraw函数中定义画刷和绘制圆形。 Void CColorView:OnDraw(CDC*pDC)int clr=RGB(m_clr1,m_clr2,m_clr3);CBrush newBrush(clr);CBrush*oldBrush=pDC-SelectObject(&newBrush);pDC-Ellipse(20,20,220,220);pDC-SelectObject(oldBrush);运行结果运行结果分析点击鼠标,圆的颜色逐渐加深任务3编写一个单文档界面应用程序,该程序可以测试在鼠标左键按下时鼠标光标的位置是否处在某规定的矩形框内,如果不在该矩形内则计算机的扬声器会发出“叮”的声音,反之则会在用户区显示光标的位置。 实验步骤 (1)用MFC AppWizard创建一个名称为MusInRec的单文档应用程序框架。 (2)在视图类的声明中定义一个CRect类的对象来描述矩形,再定义一个POINT结构来存储鼠标在按下时的位置,即在视图类的声明中添加如下代码。 Public:POINT m_point;CRect m_rRct; (3)在视图类的构造函数中初始化数据成员CMusInRecView:CMusInRecView():m_rRct(50,50,250,200)m_point.x=0;m_point.y=0; (4)在视图类的OnDraw函数中写入如下代码。 void CMusInRecView:OnDraw(CDC*pDC)CmusInRecDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);/TODO:add drawcode fornative datahere Chars20;wsprintf(s,”X=%d Y=%d”,m_point.x,m_point.y);pDC-TextOut(5,5,s); (5)在视图类的鼠标左键按下消息响应函数OnLButtonDown中写入如下代码。 Void CmusInRecView:OnLButtonDown(UINT nFlags,CPoint point)if(m_rRct.PtInRect(point)m_point.x=point.x;m_point.y=point.y;elseMessageBeep (0);InvalidateRect(NULL);CView:OnLButtonDown(nFlags,point);运行结果运行结果分析在制定位置显示二维坐标任务4编写一个单文档界面应用程序,该程序在用户区能以在两个矩形的相交矩形为外接矩形画一个椭圆。 实验步骤 (1)用MFC AppWizard创建一个名称为RecRec的单文档应用程序框架。 (2)在视图类的声明中声明两个描述矩形的成员变量CRect m_rRec1;CRect m_rRec2; (3)在视图类的构造函数初始化数据成员CRecRecView:CrecRecView():m_rRec1(50,50,250,200),m_rRec2(100,120,300,400) (4)在视图类的OnDraw函数中写入如下代码。 Void CRecRecView:OnDraw(CDC*pDC)CRecRecDoc*pDoc=GetDocument();ASSERT_VALIDA(pDoc);int x1,y1;int x2,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论