- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章图形操作 学习目标 4.1 CD和CDC类 程序的实现步骤 利用AppWizard生成基于对话框程序(BmpTest ) 添加画线和画椭圆的代码 改变直线和圆的颜色 改变线的宽度和风格 步骤1 生成基于对话框程序(BmpTest ) 项目名称: BmpTest 选择基于对话框应用程序 步骤2 添加画线和画椭圆的代码 步骤3 改变直线和圆的颜色 小结 类:CDC,CPaintDC,CPen,CBrush 函数:MoveTo,LineTo,Ellipse,SelectObject CPen的构造函数 CBrush的构造函数 4.2 GDI和CGdiObject类 4.3 绘图程序实例一 程序的实现步骤 利用AppWizard生成单文档程序(MoveTest ) 编辑菜单资源和位图资源 在视类添加数据成员记录轨迹坐标 添加成员函数实现功能 步骤1 生成单文档程序(MoveTest ) 项目名称: MoveTest 选择单文档应用程序 步骤3 在视类添加数据成员记录轨迹坐标1 class CMoveTestView : public CView { …… private: CString flag; // “track”:选择“轨迹”,“move”:选择“移动” BOOL drawtrack; // true:正在画轨迹, struct pointstruct{ //记录轨道中各个点的链表结构 CPoint point; struct pointstruct *next; }; struct pointstruct *pointlisthead,*pointlisttrail; …… } 步骤3 在视类添加数据成员记录轨迹坐标2 在构造函数中初始化成员变量 CMoveTestView::CMoveTestView() { drawtrack=false; flag.Empty(); pointlisthead =NULL; pointlisttrail =NULL; } 步骤4 添加成员函数实现功能1 添加菜单消息响应函数 void CMoveTestView::OnGraphTrack() { flag=track; } void CMoveTestView::OnGraphMove() { flag=move; MoveObject(); } 函数MoveObject()的功能就是移动轮子 步骤4 添加成员函数实现功能2 2. 添加鼠标消息响应函数 通过响应鼠标的按下、移动、松开画轨迹,并保存在链表结构中。 函数CMoveTestView::OnLButtonDown() 函数CMoveTestView::OnMouseMove() 函数CMoveTestView::OnLButtonUp () 3. 添加函数CMoveTestView::MoveObject() 小结 CBitmap:LoadBitmap() CDC:CreateCompatibleDC() SelectObject() BitBlt() SetPixel() 4.4 绘图程序实例二 程序的实现步骤 利用AppWizard生成单文档程序(Draw) 编辑菜单、工具栏、光标资源 在视类添加数据成员并在构造函数中初始化 为视类添加WM_CREATE消息处理函数 在视类中添加菜单消息响应函数 在视类中添加鼠标消息响应函数 修改OnDraw()函数 添加WM_SETCURSOR消息的处理函数 步骤1 生成单文档程序(Draw) 项目名称: Draw 选择单文档应用程序 步骤2 编辑菜单、工具栏、光标资源2 编辑菜单资源(最后的5个菜单项是在子菜单“线宽”中) 步骤2 编辑菜单、工具栏、光标资源3 编辑工具栏资源 步骤3 在视类添加数据成员并在构造函数中初始化1 视类添加数据成员 步骤3 在视类添加数据成员并在构造函数中初始化2 初始化视类的数据成员 步骤4 为视类添加WM_CREATE消息处理函数 Class Name :CDrawView Object IDs : CDrawView Messages :WM_CREATE 函数:CDrawView::OnCreate() 步骤5 在视类中添加菜单消息响应函数1 由于画图和选择线宽的几个菜单项用同一个响应函数,不能使用类向导,要手工添加。 1. 在视类中添加函数原型 afx_msg void OnSelectDrawType(UINT nID); afx_msg void OnUpdate
您可能关注的文档
- Visual Basic 6.0程序设计与实训教程 -郑有增 第8章 项目的集成和制作安装程序.ppt
- Visual Basic.NET程序设计 -潘晓文 第1章.ppt
- Visual Basic.NET程序设计 -潘晓文 第4章.ppt
- Visual Basic.NET程序设计 -潘晓文 第5章.ppt
- Visual Basic.NET程序设计 -潘晓文 第7章.ppt
- Visual Basic.NET程序设计 -潘晓文 第9章.ppt
- Visual Basic.NET程序设计 -潘晓文 第10章.ppt
- Visual Basic.NET程序设计教程 -陈语林 p02.ppt
- Visual Basic.NET程序设计教程 -陈语林 p04.ppt
- Visual Basic.NET程序设计教程 -陈语林 p05.ppt
最近下载
- 儿科住院医师考试:2022心理及行为障碍真题模拟及答案(2).pdf VIP
- 交通运输工程学术学位博士学位培养方案.docx VIP
- 教科版三年级下册科学第三单元《太阳、地球和月球》测试卷含完整答案【名校卷】.docx
- 信息安全(复旦)大学MOOC慕课 章节测验期末考试客观题答案.docx
- 小红帽绘本故事.ppt VIP
- 小学数学六年级上册期末测试卷带答案(实用).docx
- 小学四年级下册数学期中测试卷及答案【网校专用】.docx
- 《Linux网络操作系统》全套教案.doc
- 【行业研报】2023年周易行业企业战略规划方案及未来五年行业预测报告.docx
- 2023年南方沿海地区某再生水厂初步设计说明.pdf VIP
文档评论(0)