文档详情

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

发布:2015-12-12约1.43万字共32页下载文档
文本预览下载声明
第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
显示全部
相似文档