网站大量收购独家精品文档,联系QQ:2885784924

Visual C++ 6.0实例教程 第5章新.ppt

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

文档评论(0)

精品课件 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档