版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一实验一 图形程序设计根底图形程序设计根底一一. 概述:概述: 本实验是在本实验是在Microsoft Visual C+ 6.0平台上,平台上,建立一个建立一个Project,并在该,并在该Project的的View文件内,找到文件内,找到Visual C+ 6.0自动创建的自动创建的CView类的虚拟成员函数类的虚拟成员函数OnDrawCDC* pDC,并在该函数内添加相应的绘,并在该函数内添加相应的绘图程序,绘图程序经过图程序,绘图程序经过CDC类指针类指针pDC调用相应的绘调用相应的绘图土函数,来完成所需图形的绘制。图土函数,来完成所需图形的绘制。 因此,在此实验中,除了要掌握因此
2、,在此实验中,除了要掌握Visual C+ 6.0平台上编制图形程序的步骤之外,还应初步了解平台上编制图形程序的步骤之外,还应初步了解MFC的构造,尤其需求了解与绘图有关的相关类的关系和类的构造,尤其需求了解与绘图有关的相关类的关系和类中成员函数的调用方式。中成员函数的调用方式。MFC构造如下:构造如下:二实验的主要目的:二实验的主要目的:1、让学生掌握利用、让学生掌握利用Microsoft Visual C+ 6.0平台,进展图平台,进展图形程序设计的根本方法与步骤;形程序设计的根本方法与步骤; 2、训练学生利用计算机分析和处置实践问题的才干;、训练学生利用计算机分析和处置实践问题的才干;
3、3、锻炼学生撰写科技实验报告的才干。、锻炼学生撰写科技实验报告的才干。三实验步骤:三实验步骤:建立工程:建立工程:翻开翻开Visual C+;选择选择FileNewProjectsMFC AppWizardexe,在,在Project Name内内输入工程名如输入工程名如FtistP,并在,并在Location选择程序文件存储途径,最后点击选择程序文件存储途径,最后点击OK。2. 选择欲创建的文档类型:选择欲创建的文档类型: 在在Step1对话框中,选择对话框中,选择Single Document或或Multiple Documents或或Dialog based中恣意一项均可,但后续操作不一
4、样。如选中恣意一项均可,但后续操作不一样。如选Multiple Documents点击点击Finish假设还有其他需求那么选假设还有其他需求那么选Next; 在如下在如下New Project Information框内下点击框内下点击OK。3. 编写图形程序:编写图形程序: 在如上图所示的此新建的在如上图所示的此新建的Project内,内,Workspace视窗下视窗下选择选择FileView,然后点击,然后点击FirstP Files展开它,在展开它,在Source Files中找到中找到FirstPView.cpp文件,在该文件中找到文件,在该文件中找到CView类下的列函数:类下的列函
5、数: void CFirstPView:OnDrawCDC* pDC CFirstPDoc* pDoc = GetDocument; ASSERT_VALIDpDoc; / TODO: add draw code for native data here 添加代码处添加代码处 在该函数内添加相应的绘图程序代码,图形外形不作一致要求,可自在在该函数内添加相应的绘图程序代码,图形外形不作一致要求,可自在设计,代码本人编写,也可用教材上设计,代码本人编写,也可用教材上P20实例来练习。实例来练习。 教材上教材上P20实例代码如下:实例代码如下:/运用缺省画笔画了一条直线,画笔的属性是实线型、运用缺省
6、画笔画了一条直线,画笔的属性是实线型、1个像素宽、黑色个像素宽、黑色 pDC-MoveTo 100,100; pDC-LineTo 200,200; CPen *pOldPen; /恳求一个画笔指针,用于保管当前设备环境下的画笔恳求一个画笔指针,用于保管当前设备环境下的画笔 CPen dashPen; /以下创建画笔并绘制直线以下创建画笔并绘制直线 /创建一个画笔,其属性是虚线型、创建一个画笔,其属性是虚线型、1个像素宽、红色个像素宽、红色 dashPen.CreatePen PS_DASH,1, RGB255,0,0; /PS_SOLID: Pen is solid;/PS_DASH: Pe
7、n is dashed;PS_DOT: Pen is dotted;PS_DASHDOT: Pen has alternating dashes and dots/PS_DASHDOTDOT; PS_INSIDEFRAME: Pen is solid; PS_NULL: Pen is invisible pOldPen=pDC-SelectObject &dashPen; /选择新画笔,用选择新画笔,用pOldPen保管原保管原画笔画笔 pDC-LineTo300,100; /运用新画笔绘制直线运用新画笔绘制直线 pDC-SelectObject pOldPen; /绘制终了一定要恢复
8、原画笔绘制终了一定要恢复原画笔 pDC-LineTo 400,200; /再次运用原画笔再绘制直线再次运用原画笔再绘制直线4编译调试程序,直到经过运转后得到需求的结论。编译调试程序,直到经过运转后得到需求的结论。注:注:假设在:假设在: void CFirstPView:OnDrawCDC* pDC CFirstPDoc* pDoc = GetDocument; ASSERT_VALIDpDoc; / TODO: add draw code for native data here 。 。函数前添加以下函数,即可在相应线段中插入字符函数前添加以下函数,即可在相应线段中插入字符“0VOID CA
9、LLBACK DrawZeroint X, int y, LPARAM lpData CDC* pDC;pDC=CDC*lpData;ifX%20=0pDC-TextOutX,y,_T0; 再在书上代码:再在书上代码: pDC-MoveTo 100,100; pDC-LineTo 200,200;下添加以下语句:下添加以下语句: :LineDDA100,100,200,200,LINEDDAPROCDrawZero,longpDC; /画画“0函数函数即可在直线段即可在直线段100,100到到200,200上每隔上每隔20个段位长度个段位长度处输出一个处输出一个“0符号。符号。 其运转结果如以
10、以下图所示:其运转结果如以以下图所示:NoImage5. 分析总结,并提交实验报告。略分析总结,并提交实验报告。略注:各函数阐明如下。注:各函数阐明如下。1CDC:MoveTo CPoint MoveTo int x, int y ;Return Value The x- and y-coordinates of the previous position as a CPoint object.Parametersx Specifies the logical x-coordinate of the new position.y Specifies the logical y-coordina
11、te of the new position.Remarks Moves the current position to the point specified by x and y or by point.2CDC:LineTo BOOL LineTo int x, int y ;Return Value Nonzero if the line is drawn; otherwise 0.Parametersx Specifies the logical x-coordinate of the endpoint for the line.y Specifies the logical y-c
12、oordinate of the endpoint for the line.Remarks Draws a line from the current position up to, but not including, the point specified by x and y or point. The line is drawn with the selected pen. The current position is set to x,y or to point.3CPen:CreatePen BOOL CreatePen int nPenStyle, int nWidth, C
13、OLORREF crColor ;Return Value Nonzero, or the handle of a logical pen, if successful; otherwise 0.ParametersnPenStyle Specifies the style for the pen. For a list of possible values, see the nPenStyle parameter in the CPen constructor.nWidth Specifies the width of the pen. if this value is 0, the wid
14、th in device units is always 1 pixel, regardless of the mapping mode.crColor Contains an RGB color for the pen.Remarks The CreatePen initializes a pen with the specified style, width, and color. The pen can be subsequently selected as the current pen for any device context. 4CDC:SelectObject CPen* SelectObject CPen* pPen ;Return Value A pointer to the object being replaced. This is a pointer to an object of one of the
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 育婴员-模拟练习题及答案
- 临床诊断学核心知识点总结
- 项目五:老年服务礼仪基础认知
- (辅导班)2026年新高三数学暑假讲义(基础班)第02讲 函数的性质:单调性与奇偶性(原卷版)
- 医学26年:心血管防控多文化融合进展解读 心内科查房
- 【2026】年品牌推广专员(某大型国企)面试题题库解析
- 26年银发护理记录造假禁忌课件
- 2026届河南百师联盟高三下学期5月模拟联考历史试题
- 教育基础及其方法 4
- 中级经济师考试中级工商管理试题及答案解析
- 《消防产品监督检查》课件
- 六年级下册辩论四项辩论材料
- ACT的正常值及临床意义
- 上海市建筑施工风险管控与隐患排查实施导则
- YDT 4409.3-2023云原生能力成熟度模型 第3部分:架构安全
- DB34∕T 2396-2015 高速公路桥梁伸缩缝维修与更换技术规程
- GB/T 15568-2024通用型片状模塑料(SMC)
- 《JJG196-2006-常用玻璃量器检定规程》
- 员工雇佣合同
- 5.1.4 识读识读预焙阳极铝电解槽的结构图
- (高清版)DZT 0426-2023 固体矿产地质调查规范(1:50000)
评论
0/150
提交评论