简单图形绘制及动态效果.pptVIP

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简单图形绘制及动态效果

《面向对象程序设计课程设计》 实验项目 二、简单图形绘制与动态效果 通 知 每周课堂提问记入平时成绩。 第一阶段内容在第六周结束 第7周安排一次测验: 形式:笔试 内容:第三章至第七章。有关概念、程序设计。 本次布置的实验分两部分:必做和选做 建立程序“工程”的步骤(课本第二章) 要求按照下列步骤规范执行 启动VC++,点击File/New菜单 Workspace: 建立工作区。取工作区名称,文件夹选择在E盘(为了有效地保存文档,不要使用默认文件夹) Project:建立工程。取工程名称(注意选择在“当前工作区”) File:建立源程序文件。取文件名。输入源程序。 编译、连接、运行。(了解程序文件存放的物理位置) 使用MSDN查找API函数的使用方法: Help/Search: “活动子集”选择“Platform SDK”; “要查找的单词”输入相关API函数名,在“选择主题”中查找并双击该函数名,即可得到关于函数的说明、使用示例。 关于在工程中添加文件、在工作区中添加工程 请查阅课本P49,重点注意: 关于工作区面板“FileView”中树状组织与磁盘物理文件的关系 关于工作区中工程与工程文件的编辑 工具栏的设置 练习一 作图 对例4-1作如下修改,获得不同效果: 改变图形填充色:三种图形使用不同颜色; 改变图形外框线型; 在圆角矩形中画两条对角线;(参考例4-3) 在椭圆中画出长轴和短轴(轴长自定) 试在用户区中加画一个三角形(自己设计坐标,使用Polyline或Polygon) 思考:把画笔画刷语句注释后,是否可画图? 练习二:窗口刷新消息处理与用户区颜色变化 在课本程序3-1中的窗口函数WndProc增加语句,对windows发送过来的窗口刷新消息WM_PAINT进行处理,并用不同颜色刷新用户区。 认真阅读下列有关内容: 窗口变化后的刷新请求与刷新过程: 消息处理过程:(windows操作系统与窗口函数) 画图步骤:(见后页) 图形刷新的概念 画图的基本方法 消息处理过程 画图步骤 准备画轮廓的画笔 准备填充的画刷 Windows中每个对象都有“句柄”,画笔、画刷也是对象,也要通过“句柄”来使用 定义画笔、画刷的句柄变量: HPEN hPen; HBRUSH hBrush; 但hPen、hBrush还只是随机数 设备描述表 记录各种作图要求与参数的数据结构 Windows在任一时刻都能为每个窗口提供用于作图的“设备描述表” 作图前一般都要先获取当前窗口的“设备描述表” 通过函数把作图所需的设备(画笔、画刷、图形、参数)“写入”设备描述表,也就是提供给GDI 调用GDI函数由GDI进行作图。 设备描述表的获取 设备描述表是一个对象,也要使用“句柄” HDC  hDC; //定义一个句柄 为hDC赋值: hDC=GetDC(hwnd);//可用于各种消息处理时画图 或 hDC=BeginPaint(hwnd,ps);//仅用于WM_PAINT 这两种方法各有不同的适用场合 画图的程序写在哪里? 主要在对WM_PAINT消息的处理中进行作图 图形刷新 画图程序设计的基本方法(思路) 画笔、画刷的定义、选入 图形参数的计算 调用作图函数 调用GDI绘图函数画图 画一个圆 画一个矩形 画一个饼 把整个用户区刷新:Rectangle(hdc,PtStr.rcPaint.left, PtStr.rcPaint.top, PtStr.rcPaint.right, PtStr.rcPaint.bottom); 程序设计 在窗口函数WndProc中增加定义变量: HDC hdc; //设备描述表句柄 PAINTSTRUCT PtStr; //无效矩形变量 HBRUSH hbrush; //画刷句柄 static int r=0,g=0,b=0; //三原色 程序设计 在处理WM_PAINT处写入下列程序,然后编译、连接、运行。 case WM_PAINT: hdc=BeginPaint(hwnd,PtStr); hbrush=CreateHatchBrush(HS_CROSS,RGB(r,g,b)); SelectObject(hdc,hbrush); Rectangle(hdc,PtStr.rcPaint.left,PtStr.rcPaint.top, PtStr.rcPaint.right,PtStr.rcPaint.bottom); r=(r+10)%255; g=(g+10)%255; b=(b+10)%255; EndPaint(hwnd,PtStr); retur

文档评论(0)

ipbohn97 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档