第4节 图形操作.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档