16 王娜 实验5(一)_第1页
16 王娜 实验5(一)_第2页
16 王娜 实验5(一)_第3页
16 王娜 实验5(一)_第4页
16 王娜 实验5(一)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

计计 算算 机机 课课 程程 实实 验验 报报 告告 2012 2013 学年度 第一 学期 系别 数学与计算机科学学院 实验课程C 面向对象程序设计班 级级计算机科学与技术 学 号16姓 名王娜指导教师马学梅 实验题目图形和文本的输出 一 日 期 2012 年 11 月 20 日 实验目的 及要求 1 理解图形设备接口和设备环境 熟悉用于图形和文本输出的类 CGdiObject 类和 CDC 类 2 掌握设备环境的获取方法 3 掌握库存对象绘制图形的方法 4 掌握画笔 画刷的使用方法 5 掌握文本和位图的输出方法 实验内容及具体步骤 内容 1 对照教材完成例题 对照教材完成例题 3 1 3 2 3 3 3 4 3 5 3 6 中的相关内容 要求写出每一个实例中涉中的相关内容 要求写出每一个实例中涉 及的知识点即可 步骤及结果可省略 及的知识点即可 步骤及结果可省略 2 编写一个单文档应用程序 在客户区使用不同的画笔和画刷绘制点 折线 曲线 圆角矩 编写一个单文档应用程序 在客户区使用不同的画笔和画刷绘制点 折线 曲线 圆角矩 形 弧 扇形和多边形等到几何图形形 弧 扇形和多边形等到几何图形 3 编写一个单文档应用程序 在视图窗口中显示编写一个单文档应用程序 在视图窗口中显示 3 个圆 通过使用不同颜色的画笔及画刷来个圆 通过使用不同颜色的画笔及画刷来 模拟交通红绿灯 模拟交通红绿灯 实验步骤 实验步骤 例例 3 1 例例 3 1 void CLi3 1View OnDraw CDC pDC 定义函数定义函数 OnDraw 参数是一个 参数是一个 CDC 类的指针类的指针 pDC CLi3 1Doc pDoc GetDocument 定义一个指向定义一个指向 doc 类对象的指针类对象的指针 ASSERT VALID pDoc 确定确定 Pdoc 可用 其中可用 其中 Pdoc 是文档类指针是文档类指针 TODO add draw code for native data here pDC RoundRect 50 30 200 100 30 30 利用利用 CDC 指针绘制圆角矩形指针绘制圆角矩形 pDC Ellipse 100 120 300 220 利用利用 CDC 指针绘制椭圆指针绘制椭圆 例 3 2 void CLi3 2View OnPaint CPaintDC dc this 在函数在函数 OnPaint 中声明个 中声明个 CPaintDC 类的对象 并用类的对象 并用 this 指针为指针为 CPaintDC 对象赋值对象赋值 device context for painting TODO Add your message handler code here dc RoundRect 100 30 250 100 30 30 绘制圆角矩形绘制圆角矩形 dc Ellipse 200 100 400 150 绘制椭圆绘制椭圆 Do not call CView OnPaint for painting messages 例 3 2 使用使用 MFC 创建一个单文档应用工序创建一个单文档应用工序 Li3 2 在 在 WM PAINT 的消息响应函数的消息响应函数 OnPanit 添加如添加如 下代码 当出现错误时 点击下代码 当出现错误时 点击 ONDRAW 再点连接 错误就可以消除了 再点连接 错误就可以消除了 例 3 3 在在 MFC 中中 i 创建一个应用程序创建一个应用程序 Li3 3 打开 打开 classwzizard 中的中的 dialog 打开对话框编辑器删除主打开对话框编辑器删除主 对话框中的静态文本及按钮 再进入对话框中的静态文本及按钮 再进入 classwzizard 在 在 cli3 3dlg 类个增加消息类个增加消息 WM LBUTTONDOWND 的应用函数的应用函数 onlbuttondown 若出现错误时点击若出现错误时点击 dialog 点击链接 错误 点击链接 错误 可以解除 可以解除 void CLi3 3Dlg OnLButtonDown UINT nFlags CPoint point TODO Add your message handler code here and or call default CClientDc dc this dc Rectangle 100 0 200 150 CDialog OnLButtonDown nFlags point 一题一题 例 3 2 void CLi3 2View OnPaint CPaintDC dc this 在函数在函数 OnPaint 中声明个 中声明个 CPaintDC 类的对象 并用类的对象 并用 this 指针指针 为为 CPaintDC 对象赋值对象赋值 device context for painting TODO Add your message handler code here dc RoundRect 100 30 250 100 30 30 绘制圆角矩形绘制圆角矩形 dc Ellipse 200 100 400 150 绘制椭圆绘制椭圆 Do not call CView OnPaint for painting messages 例 3 3 使用使用 MFC Appwizard exe 向导建立一个基于对话框向导建立一个基于对话框 应用程序 在一步注意要选应用程序 在一步注意要选 Dialog based 选项 在运行出现的对话框选项 在运行出现的对话框 没有矩形 我们要单击左键才能出现我们绘制的矩没有矩形 我们要单击左键才能出现我们绘制的矩 形形 void CLi3 3Dlg OnLButtonDown UINT nFlags CPoint point TODO Add your message handler code here and or call default CClientDC dc this 在函数在函数 OnPaint 中声明个 中声明个 CPaintDC 类的对象 并用类的对象 并用 this 指针指针 为为 CPaintDC 对象赋值对象赋值 dc Rectangle 100 0 200 150 绘制矩形绘制矩形 CDialog OnLButtonDown nFlags point 例例 3 4 void CLi3 4Dlg OnLButtonDown UINT nFlags CPoint point TODO Add your message handler code here and or call default CWindowDC dc this dc Rectangle 100 0 200 150 CDialog OnLButtonDown nFlags point 例例 3 4 void CLi3 4Dlg OnLButtonDown UINT nFlags CPoint point TODO Add your message handler code here and or call default CWindowDC dc this dc Rectangle 100 0 200 150 CDialog OnLButtonDown nFlags point 例例 3 5 void CLi3 5View OnDraw CDC pDC CLi3 5Doc pDoc GetDocument ASSERT VALID pDoc TODO add draw code for native data here CPen PenOld PenNew CBrush BrushOld BrushNew PenOld CPen pDC SelectStockObject BLACK PEN BrushOld CBrush pDC SelectStockObject LTGRAY BRUSH pDC Rectangle 100 100 300 300 PenNew CreateStockObject WHITE PEN pDC SelectObject pDC MoveTo 100 100 pDC LineTo 300 300 pDC MoveTo 100 300 pDC LineTo 300 100 pDC SelectObject PenOld pDC SelectObject BrushOld void CLi3 6View OnDraw CDC pDC CLi3 6Doc pDoc GetDocument ASSERT VALID pDoc TODO add draw code for native data here CPen PenOld PenNew int PenStyle PS SOLID PS DOT PS DASH COLORREF rgbPenClr RGB 255 0 0 RGB 0 255 0 RGB 0 0 255 for int i 0 iSelectObject pDC Rectangle 20 50 i 20 50 i 120 50 i 50 50 i pDC SelectObject PenOld PenNew DeleteObject 二题二题 void CMy3 2 1View OnDraw CDC pDC CMy3 2 1Doc pDoc GetDocument ASSERT VALID pDoc TODO add draw code for native data here CPen PenOld PenNew 旧画笔指针 新画笔旧画笔指针 新画笔 CBrush BrushOld BrushNew 旧画刷指针 新画刷旧画刷指针 新画刷 int PenStyle 3 PS SOLID PS DOT PS DASHDOT 画笔样式画笔样式 COLORREF rgbPenClr 6 RGB 0 255 0 RGB 0 0 255 RGB 255 0 255 RGB 0 0 0 RGB 255 255 0 RGB 128 128 0 画笔颜色画笔颜色 int HatchStyle HS BDIAGONAL HS CROSS HS VERTICAL COLORREF rgbBrushClr 3 RGB 0 0 255 RGB 0 255 0 RGB 0 255 255 pDC SetPixel CPoint 50 100 RGB 255 0 0 在指定位置绘制一个红色的点在指定位置绘制一个红色的点 PenNew CreatePen PenStyle 1 2 rgbPenClr 1 创建画笔创建画笔 PenOld pDC SelectObject 选用画笔选用画笔 POINT a 3 100 200 300 100 150 20 绘制连接指定点的折线段绘制连接指定点的折线段 pDC Polyline a 3 pDC SelectObject PenOld 还原画笔还原画笔 PenNew DeleteObject 释放画笔释放画笔 PenNew CreatePen PenStyle 2 1 rgbPenClr 2 创建画笔创建画笔 PenOld pDC SelectObject 选用画笔选用画笔 POINT b 5 50 20 100 70 150 10 200 90 120 80 根据两个端点和两个控制点绘制曲线根据两个端点和两个控制点绘制曲线 pDC PolyBezier b 5 pDC SelectObject PenOld 还原画笔还原画笔 PenNew DeleteObject 释放画笔释放画笔 PenNew CreatePen PenStyle 1 0 rgbPenClr 2 创建画笔创建画笔 PenOld pDC SelectObject 选用画笔选用画笔 BrushNew CreateSolidBrush rgbBrushClr 3 创建画刷创建画刷 BrushOld pDC SelectObject 选用画刷选用画刷 pDC RoundRect 400 30 550 100 20 20 绘制圆角矩形绘制圆角矩形 pDC SelectObject PenOld 还原画笔还原画笔 pDC SelectObject BrushOld 还原画刷还原画刷 PenNew DeleteObject 释放画笔释放画笔 BrushNew DeleteObject 释放画刷释放画刷 pDC Arc 20 200 200 300 200 250 20 200 绘制一段弧绘制一段弧 BrushNew CreateSolidBrush rgbBrushClr 2 创建画刷创建画刷 BrushOld pDC SelectObject 选用画刷选用画刷 pDC Chord 420 120 540 240 520 260 420 180 绘制扇形绘制扇形 pDC SelectObject BrushOld 还原画刷还原画刷 BrushNew DeleteObject PenOld CPen pD

温馨提示

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

评论

0/150

提交评论