- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 图形操作 5.1 CD和CDC类 学习目标 1.了解设备环境(Device Context,简称DC) 和设备环境类(CDC) 2. 利用设备环境类进行简单绘图 使用设备环境类绘图的一个简单例子 利用AppWizard生成基于对话框程序框架(BmpTest ) 添加画线和画椭圆的代码 (OnPaint()函数) 见下页 代码解释: (1)CPaintDC dc(this);这句代码是生成一个CPaintDC类的实例dc,生成后就可以调用他的函数来进行绘图了。 (2)dc.MoveTo(30,30);调用dc的MoveTo函数把画线的起点定在对话框的(30,30)坐标点。MoveTo函数的一般调用格式为:MoveTo(int x,int y),其中参数x,y是要画直线的起始点坐标。 (3)dc.LineTo(30,30);调用dc的LineTo函数画线到(100,100)坐标点。LineTo函数的一般调用格式为:LineTo(int x,int y),其中参数x,y是所画直线的终止点坐标。 ( 4)dc.Ellipse(120,120,160,160);本句代码的作用是调用设备环境对象dc的画椭圆函数Ellipse画椭圆。Ellipse函数的一般调用格式为: Ellipse(LPCRECT lpRect),其中参数 lpRect是所画椭圆的外接矩形 。 4.改变画图颜色 5.2 GDI和CGdiObject类 学习目标 1.了解图形设备接口 2. 了解类CGdiObject极其派生类 绘图程序实例一 用应用向导产生单文档程序框架(BmpTest ) 修改、添加资源 添加菜单 ID_GRAPH_TRACK 轨迹 ID_GRAPH_MOVE 移动 添加位图 IDB_BIT1 IDB_BIT2 添加数据类型及变量 4. 添加函数 1.添加菜单响应函数 2.添加鼠标响应函数 5.构造函数中将drawtrack 初始化为FALSE 绘图程序实例二 用应用向导产生单文档程序框架(Draw ) 编辑各种资源 定义ID ID_DRAW_LINE ID_DRAW_RECTANGLE ID_DRAW_ELLIPSE ID_DRAW_FILL ID_DRAW_LINEWIDTH_ONE ID_DRAW_LINEWIDTH_TWO ID_DRAW_LINEWIDTH_THREEE ID_DRAW_LINEWIDTH_FOUR ID_DRAW_LINEWIDTH_FIVE 编辑菜单资源 编辑工具条资源 编辑光标资源 3.在视类中添加成员变量并初始化 -----(1)添加成员变量 3.在视类中添加成员变量并初始化 (2)在构造函数中初始化部分成员变量 3.在视类中添加成员变量并初始化 (3)在析构造函数中释放指针变量占用的内存 3.在视类中添加成员变量并初始化 (4)为视类添加WM_CREATE消息处理函数 4.在视类中添加菜单消息响应函数 (1) 在视图类中添加 “直线”、“矩形”、“椭圆”、“填充”4个菜单项的消息响应函数,和“线宽”菜单中5个菜单项的消息响应函数 (2)在视图类中添加 “线色…”和“填充色…”2个菜单项的消息处理函数 5.在视类中添加鼠标消息响应函数 5.在视类中添加鼠标消息响应函数 5.在视类中添加鼠标消息响应函数 6.修改OnDraw()函数 7.添加WM_SETCURSOR消息的处理函数 * 内容摘要: CD和CDC类 GDI和CGdiObject类 绘图程序实例一 绘图程序实例二 返回目录 5.1 返回第5章 5.1 5.1 void CBmpTestDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND,(WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // D
您可能关注的文档
- Visual Basic程序设计 郁春兰 第3章新.ppt
- Visual Basic程序设计 郁春兰 第4章新.ppt
- Visual Basic程序设计 郁春兰 第5章新.ppt
- Visual Basic程序设计 郁春兰 第6章新.ppt
- Visual Basic程序设计 郁春兰 第9章新.ppt
- Visual Basic程序设计基础 杨小影 第1章 Visual Basic概述新.ppt
- Visual Basic程序设计基础 杨小影 第2章 语言基础新.ppt
- Visual Basic程序设计基础 杨小影 第3章 窗体和基本控件新.ppt
- Visual Basic程序设计基础 杨小影 第5章 应用程序界面设计新.ppt
- Visual Basic程序设计基础 杨小影 第6章 图形设计新.PPT
- CNAS-CL63-2017 司法鉴定-法庭科学机构能力认可准则在声像资料鉴定领域的应用说明.docx
- 12J7-3 河北《内装修-吊顶》.docx
- 12N2 河北省12系列建筑标准设计图集 燃气(油)供热锅炉房工程.docx
- 内蒙古 12S8 排水工程 DBJ03-22-2014.docx
- 山西省 12S10 12系列建筑标准设计 管道支架、吊架.docx
- 16J601-木门窗标准图集.docx
- 12J8 河北省12系列《 楼梯》.docx
- CNAS-GL37 2015 校准和测量能力(CMC)表示指南.docx
- CNAS-RL02-2016 能力验证规则.docx
- 津02SJ601 PVC塑料门窗标准.docx
最近下载
- 品牌策划与推广实战PPT全套完整教学课件.pptx
- 概率论与数理统计课件-全概率与贝叶斯公式.ppt VIP
- 炒茶机及其系统设计.doc
- The Pricing of Options and Corporate Liabilities期权定价与公司负债.pdf
- (概率论与数理统计)全概率公式与贝叶斯公式.ppt VIP
- 新人教(pep)四年级英语下册Unit4 At the Farm A. Let's talk 说课稿.doc
- 职业教育课程建设人工智能赋能的改革研究.docx VIP
- 公司出纳年终工作总结6篇.docx VIP
- (完整word版)AAO工艺设计计算.doc VIP
- 《秘书工作理论与实务》课件——第一章 秘书办文工作.pptx VIP
文档评论(0)