已阅读1页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年乡镇干部气象灾害防御条例应知应会测试题库
- 2026年校外培训机构培训内容备案测试卷
- 开发分享工作经验演讲稿
- 2026年营养师面试常见问题与食谱编制
- 2026年企业人才发展与招聘机制测试题
- 关于冬奥苏翊鸣演讲稿
- 2026年乡镇便民服务中心题库
- 2026年中国古代文化常识与文学鉴赏全题型题集
- 2026年禁毒工作信息化设备操作题
- 2026年施工现场临时用电接地电阻测试记录
- 脱毛知识培训课件
- 很好用的融资租赁测算表(可编辑版)
- 2023年机动车检测站管理评审资料
- 新生儿喂养不耐受-新生儿喂养不耐受诊断标准教学课件
- 驾驶员从业资格证电子版
- 《云南省田坝煤矿二号井采矿权出让收益评估报告》
- 毕业论文-基于三维视觉的工件测量技术研究
- GB/T 37047-2022基于雷电定位系统(LLS)的地闪密度总则
- GB/T 20303.1-2006起重机司机室第1部分:总则
- GB/T 11547-2008塑料耐液体化学试剂性能的测定
- GB/T 10066.1-2019电热和电磁处理装置的试验方法第1部分:通用部分
评论
0/150
提交评论