MFC经典绘图(清华大学)

合集下载

MFC绘图

MFC绘图

一、绘制线条1、新建MFC单文档工程Draw。

2、为CDrawView类添加CPoint类型的成员变量m_ptOrigin,将其访问权限设置为Private。

3、添加WM_LBUTTONDOWN的消息响应函数,该函数初始化m_ptOrigin变量m_ptOrigin=point。

4、添加WM_LBUTTONUP的消息响应函数void CDrawView::OnLButtonUp(UINT nFlags, CPoint point),在该函数里可添加如下各种代码实现绘图:(1)、利用SDK全局函数实现画线功能:HDC hdc;hdc=::GetDC(m_hWnd); //获得窗口的设备描述表MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL); //移动到线条的起点LineTo(hdc,point.x,point.y); //画线::ReleaseDC(m_hWnd,hdc);//释放设备描述表知识点:所有派生于CWnd类的子类都拥有m_hWnd这一成员变量,m_hWnd被定义为HWND类型,用于保存当前窗口的句柄,该成员变量具有public的访问权限。

(2)、利用MFC的CDC类实现画线功能:CDC* pDC=GetDC();pDC->MoveTo(m_ptOrigin);pDC->LineTo(point);ReleaseDC(pDC);知识点:MFC提供了设备描述表的封装类CDC,该类封装了所有与绘图相关的操作。

该类提供了一个数据成员m_hDC,用来保存与CDC类相关的DC句柄(3)、利用MFC的CClientDC类实现画线功能:CClientDC dc(this);//dc(GetParent())可获得父窗口的DCdc.MoveTo(m_ptOrigin);dc.LineTo(point);知识点:CClientDC派生于CDC类,当一个CClientDC对象在构造时,它在内部会调用GetDC 函数,在这个CClientDC对象析构时,它会调用ReleaseDC函数。

MFC绘图函数(全)

MFC绘图函数(全)

画点像素点的绘制不过是改变单个像素点的颜色。

SetPixel( ) 试图用指定的颜色画一个像素,返回绘制时使用的实际颜色SetPixelV( ) 与上面的基本相同,但不用返回绘制时使用的实际颜色,因而速度更快画线画线即改变屏幕上一系列像素点的颜色。

M o v e To( ) 开始画线、弧和多边形时,把光标移动到一个初始位置L i n e To( ) 画一条从初始位置到另一个点的直线Arc( ) 画一段弧A r c To( ) 画一段弧,并更新初始位置AngleArc( ) 画一条线,然后画一段弧,并更新初始位置PolyDraw( ) 画一系列线段和B e z i e r样条PolyLine( ) 画一系列线段PolyPolyLine( ) 画多个系列线条画形状这里的形状是一系列封闭线条。

Rectangle( ) 画一个矩形Pie( ) 画一个饼状楔形RoundRect( ) 画一个圆角矩形Draw3dRect( ) 画一个三维矩形Polygon( ) 画一个多边形DrawEdge( ) 画一个矩形的边缘PolyPolygon( ) 创建一个或多个多边形DrawFrameControl( ) 画一个框架控件Ellipse( ) 画一个椭圆形状填充和翻转填充和翻转改变一个形状内的所有像素点颜色。

FillRect( ) 填充一个矩形FillSolidRect( ) 用一单色填充一个矩形InvertRect( ) 反转一个矩形的颜色ExtFloodFill( ) 用当前画刷填充一个区域,提供比FloodFill( )成员函数更多的灵活性FrameRect( ) 画一个矩形的边框下面三个函数包括一个区域对象,它实际上是一个线条列表,形成一个由设备环境维护的形状。

有关区域的详细讨论参见4 . 4 . 8节“剪裁属性”。

FillRgn( ) 填充一个区域InvertRgn( ) 反转一个区域的颜色FrameRgn( ) 画一个特定区域的边框滚动通过滚动,可移动屏幕周围像素颜色。

MFC图形绘制编程教程PPT优秀课件

MFC图形绘制编程教程PPT优秀课件
下等待。
16
3.1设备环境
2021/6/3
Step Into-如果当前正在 执行的语句中有函数,那 么会进入函数体单步执行 函数体的每一条语句。 Step Over-如果当前正 在执行的语句中有函数, 会执行调用函数,不单步 执行函数体。 Step Out-如果当前正单 步执行函数体,会直接跳 出函数执行,返回上层代 码。
2021/6/3
25
定义弧的椭圆母体 所对应的矩形区域
3.2 绘图函数
定义切割椭圆 母体的两个点
2021/6/3
26
3.2 绘图函数
高光部分的颜色
阴影部分的颜色
定义扇形、弓形的椭圆母 体所对应的矩形区域
2021/6/3
定义切割椭圆 母体的两个点
注意:逆时针原则 27
设备环境就属于上述的对象之一,它是Windows 的对象,MFC用CDC类封装了设备环境对象。
2021/6/3
2
3.1设备环境
Windows API给出了4种类型的设备环境
• 显示设备环境:支持视频显示器上的图形操作; • 信息设备环境:提供设备数据的检索; • 内存设备环境:支持位图上的图形操作; • 打印设备环境:支持打印机或绘图仪上的图形操作。
Windows程序设计
第三章 图形编程
2021/6/3
1
3.1设备环境
首先要明白一个常识,Windows是早于C++的,并 独立于C++之外,因此,Windows的某些对象(注 意这个说法“Windows的对象”)并不都属于 C++封装技术的规范之内,即Windows的这些对 象是Windows作为一个OS本身的对象,不是由某 个C++的类创建而来,但是在C++里却可以用一 个类封装这个(或这些)对象,并创建它们。

mfc绘图

mfc绘图

3、编辑“draw1()”函数,将前面“OnDraw()”函数中的绘图代码剪切到这里 void CMy003View::draw1(void) { CClientDC dc(this); //直线 dc.MoveTo(100,100); dc.LineTo(200,200); //矩形 dc.Rectangle(300,100,400,200); //椭圆 dc.Ellipse(500,100,650,200); } 4、在“OnDraw()”函数中调用“draw1()”函数 void CMy003View::OnDraw(CDC* /*pDC*/) { CMy003Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; //-----------------------------------------------draw1(); //-----------------------------------------------// TODO: 在此处为本机数据添加绘制代码 } ---------------------------------------------------------------------------(四)建立菜单项调用绘图函数 1、建立菜单项 (1)切换到“资源视图” (菜单: “视图”->“资源视图”),在上面的列表中选择“Menu” —>“IDR_MAINFRAME”,双击,右侧弹出主菜单。 (2) 在主菜单条中添加一项 “绘图” , 在其下面添加一个子菜单项 “draw1” ,ID 为 “ID_DRAW1” , 如图所示: 2、菜单项调用函数 右击“draw1”菜单项,在弹出的菜单中选择“添加事件处理程序”,如图所示: 3、弹出窗口如下所示,在右侧的类列表中选择“…View”类,表示此函数建立在“…View” 类中,点击“添加编辑”按钮。 4、出现函数编辑界面,在其中添加代码如下: void CMy003View::OnDraw1() { draw1(); // TODO: 在此添加命令处理程序代码 } 5、将“OnDraw()”函数中调用“draw1();”函数的那一行注释起来,使用菜单项调用函数。 运行程序,测试菜单项的功能。

mfc绘图课程设计

mfc绘图课程设计

mfc绘图课程设计一、课程目标知识目标:1. 学生能理解MFC(Microsoft Foundation Class)的基本概念及其在绘图中的应用;2. 学生能掌握MFC绘图程序的基本框架和常用绘图工具的使用;3. 学生能了解并运用MFC中的颜色、画笔、画刷等绘图属性。

技能目标:1. 学生能运用MFC编写简单的绘图程序;2. 学生能通过MFC实现基本的图形绘制,如线条、矩形、椭圆等;3. 学生能通过MFC实现图形的填充、旋转等变换。

情感态度价值观目标:1. 培养学生对计算机绘图产生兴趣,激发其主动探索精神;2. 培养学生在团队合作中相互学习、交流,形成良好的合作氛围;3. 培养学生具备创新思维,敢于尝试新方法,提高解决问题的能力。

课程性质:本课程为信息技术学科选修课程,适用于对计算机绘图有兴趣的学生。

学生特点:学生具备一定的编程基础,对MFC有一定了解,具有较强的学习能力和探索精神。

教学要求:课程要求教师引导学生主动探索,通过实践操作,掌握MFC绘图的相关知识和技能。

在教学过程中,注重培养学生的动手能力和创新能力。

教学评估以学生的实际操作和绘图作品为依据。

二、教学内容1. MFC绘图基础理论:- MFC概述及其在绘图中的应用;- 常用绘图工具和类的介绍。

2. MFC绘图程序框架:- 创建MFC绘图程序的基本步骤;- 常用绘图函数和功能介绍。

3. 图形绘制与变换:- 线条、矩形、椭圆等基本图形的绘制;- 图形的填充、旋转等变换操作。

4. MFC绘图进阶应用:- 颜色、画笔、画刷等绘图属性的应用;- 综合实例分析,实现复杂图形的绘制。

教学大纲安排:第一课时:MFC绘图基础理论,介绍MFC及其在绘图中的应用,学习常用绘图工具和类。

第二课时:MFC绘图程序框架,学习创建MFC绘图程序的基本步骤和常用绘图函数。

第三课时:图形绘制与变换,实践绘制基本图形和实现图形的填充、旋转等变换。

第四课时:MFC绘图进阶应用,学习颜色、画笔、画刷等绘图属性的应用,分析综合实例。

mfc简单绘图程序

mfc简单绘图程序

M F C简单的绘图程序——王帅目录摘要 (2)关键字 (2)1 引言 (2)设计目的 ....................................................... 错误!未定义书签。

2 功能说明 (2)菜单栏 ........................................................ 错误!未定义书签。

图形 (3)画笔 (4)画硬币 (4)工具栏 (5)状态栏 (5)3 功能的实现 (5)视图设计 (5)编辑资源 (6)编程思路及各个函数的实现 (7)(1)思路 (7)(2)代码的实现 (7)1.为基本形状创建一个基类 (8)2.基本形状类的创建 (8)矩形类的创建及定义 (8)圆形类的创建及定义 (10)正五边形类的创建及定义 (11)正三角形类的创建及定义 (14)椭圆类的创建及定义 (16)正四边形类的创建及的定义 (17)正六边形类的创建及定义 (18)直线类的创建及定义 (19)3.各基本形状类在CMyDraw2_0类中的调用和绘图的实现 (20)矩形类的调用与与绘图的实现 (20)圆形类的调用 (24)正三角形类的调用 (25)基本类型调用的剩余代码 (26)4.画笔的使用、颜色及大小的调整 (29)5.画硬币 (35)6.工具栏中的自定义控件 (38)7.状态栏中的显示 (39)4程序功能的测试 (41)5最后总结 (42)摘要:本绘图程序能够进行基本图形的绘画,如直线,圆,矩形,三角形等等,并且在此基础上添加了多边形的绘画,如正五边形等。

除此之外,还能够进行随手画,即用鼠标随意画线条。

为了更好的绘图,还添加了对画笔粗细的调整,以及对画笔颜色的调整,除了特定的颜色,颜色还可根据输入的RGB值随意更改。

还有一些老师的要求,加入了画硬币、显示硬币数目即鼠标坐标等信息。

本程序主要采用面向对象写法。

关键字:程序设计,MFC,绘图1.引言设计目的本绘图程序的设计不仅仅局限于老师课堂的要求,通过C++的编写实现绘图要求,我还想要在此基础上,加入自己的一些想法,想要更好地了解MFC,更好地去实现自己的想法。

清华大学的MFC编程精品课件

清华大学的MFC编程精品课件

7/10/2013
31
文档/视图结构支持: 决定是否使用CDocument类和 CView类支持文档/视图结构,无文档/视图结构的应用程序 不包含打开文件和存入磁盘功能的 MFC支持 资源语言:指定窗口菜单上所用的语言 使用 Unicode 库:使用Unicode版MFC 库 项目类型
一个MFC应用程序并不直接操作上述类,而是 以上述类为基类派生新的类,从而构建 Windows应用程序的基本框架。
7/10/2013 21
主要内容
Windows编程的基本概念 MFC应用程序框架类 文档/视图结构 MFC应用程序简单实例 实例分析 序列化和读写文档
7/10/2013
22
文档/视图结构
简化了Visual C++的编程工作
功能强大,灵活且稳定性好。 适用于Windows环境下的图形界面编程
用VC++及MFC开发的Windows平台下的软件有Photoshop, Office,QQ等。
7/10/2013
12
MFC应用程序框架结构类
MFC类库中的类是以层次结构的方式组 织起来的,大多数MFC类都是从CObject 中直接或者间接派生而来。
在MFC应用程序中,文档类和视图类是用户最常用的 两个类,两者密切相关。 文档/视图(Document/View)体系结构是MFC应用程 序框架结构的基础
用文档对象保存应用程序的数据 用视图对象控制视图显示数据 文档与视图的关系是一对多的关系,也就是说,文档中的数据 可以以不同的方式显示。
MFC在类CDocument和CView中为文档和视图提供了 基础结构。CWinApp、CFrameWnd和其他类与 CDocument和CView共同把所有的程序片段连在一起。

MFC绘图.62

MFC绘图.62

源码目录一、课程设计目的-------------------------------------3二、课程设计内容与实现的功能-------------------------3三、系统分析与设计-----------------------------------31、系统分析----------------------------------------------------------32、系统设计----------------------------------------------------------4四、系统测试与调试分析-------------------------------81、系统测试-----------------------------------------------------------82、调试分析-----------------------------------------------------------9五、用户手册-----------------------------------------10六、程序清单-----------------------------------------11七、体会与自我评价-----------------------------------19八、参考文献-----------------------------------------19九、课程设计评价-------------------------------------20一、课程设计目的进行C++面向对象程序设计课程设计主要是在学习C++这门面向对象语言的根底上,在完成C++面向对象程序设计各局部实验的根底上,通过自学MFC,掌握一种可视化编程的方法,并通过实践加深对可视化编程与C++面向对象程序设计语言特点的认识与理解。

同时,可以提高运用C++编程语言解决实际问题的能力;锻炼实际的编程能力、创新能力及团队组织、协作开发软件的能力;还能提高调查研究、查阅技术文献、资料以及编写软件设计文档的能力选作这个二维图形的设计题目,主要是基于了解在电脑上的画图软件的功能是如何实现的,以及在MFC平台是怎么实现功能调用的,实现图形的绘制,从而可以进一步的了解到c++是如何面向对象的程序设计,以及在我们平常使用的一些软件的一些功能实现的算法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3/7/2012
17
主要内容
GDI与设备环境(DC) 与设备环境( ) 与设备环境 用CDC绘图 绘图 应用举例 绘图工具类
3/7/2012
18
举例
编写一个单文档MFC应用程序,完成以下要求: 应用程序,完成以下要求: 编写一个单文档 应用程序 ,(2) (1)在客户区中画最大的椭圆,( )当点击鼠 )在客户区中画最大的椭圆,( 标左键时,以鼠标左键点击的位置为中心,画一 标左键时,以鼠标左键点击的位置为中心, 个半径为20个像素的圆 个像素的圆。 个半径为 个像素的圆。 建立一个单文档的MFC项目 项目DrawTest1 建立一个单文档的 项目
3/7/2012
3
图形设备接口( 图形设备接口(GDI) )
Windows提供了一个称为图形设备接口 提供了一个称为图形设备接口 (Graphics Device Interface,GDI)的抽象接口。 的抽象接口。 , 的抽象接口 GDI 作为 作为Windows的重要组成部分,负责管理用 的重要组成部分, 的重要组成部分 户绘图操作时功能的转换。 户绘图操作时功能的转换。 用户通过调用GDI 函数与设备打交道,GDI 通过 函数与设备打交道, 用户通过调用 不同设备提供的驱动程序将绘图语句转换为对应 的绘图指令,避免了用户对硬件直接进行操作, 的绘图指令,避免了用户对硬件直接进行操作, 从而实现设备无关性(显示器或打印机)。 从而实现设备无关性(显示器或打印机)。
MFC MFC绘图
MFC编程学习的基本目标 编程学习的基本目标
可以进行简单的基于MFC的图形界面编程 的图形界面编程 可以进行简单的基于
理解Windows编程的基本概念。 编程的基本概念。 理解 编程的基本概念 鉴于教学时间进度限制, 鉴于教学时间进度限制,更复杂的应用程序开发通过 自学完成。 自学完成。
添加WM_PAINT消息处理函数 消息处理函数OnPaint 添加 消息处理函数 调用OnPrepareDC和OnDraw函数,添加绘图代码 函数, 调用 和 函数
需要添加 的代码
3/7/2012
21
3/7/2012
22
鼠标点击消息处理函数
在类视图中选中CDrawTest1View类 类 在类视图中选中 在属性窗口中选择“ 在属性窗口中选择“WM_LBUTTONDOWN” ” 消息, 消息,添加消息处理函数
9
设备环境类的基本功能
3/7/2012
10
CDC类常用绘图函数 类常用绘图函数
Arc:绘制一段弧 : Chord:绘制弦形 : Ellipse:绘制椭圆或圆 : MoveTo:将当前位置移动到指定位置 : LineTo:从当前位置到指定位置画一条直线 : Polyline:画连接指定点的折线段 : PolyBezler:根据两个端点和两个控制点画贝塞尔曲线 : Pie:画冰块 : Polygon:根据两个或两个以上的顶点绘制一个多边形 : Rectangle:根据指定的左上角和右下角坐标绘制一个矩形 : RoundRect:画圆角矩形 : SetPixel:画一个点 :
实现基本MFC应用程序需要掌握如下内容: 应用程序需要掌握如下内容: 实现基本 应用程序需要掌握如下内容
Windows编程基本概念 编程基本概念 文档/视图结构 文档 视图结构 文档读写 对话框及标准控件的使用 菜单栏的使用 绘图及鼠标消息的处理
3/7/2012 2
主要内容
GDI与设备环境(DC) 与设备环境( ) 与设备环境 用CDC绘图 绘图 应用举例 绘图工具类
COLORREF RGB(
BYTE byRed, // red component of color BYTE byGreen, // green component of color BYTE byBlue // blue component of color );
3/7/2012 12
常用颜色对照表
屏幕:对若干行和列的像素操作 屏幕: 打印机: 打印机:对若干行和列的点阵输出 直接从内存到显存的复制操作,速度快,内存要求高。 直接从内存到显存的复制操作,速度快,内存要求高。
文本:以图形方式输出文本, 文本:以图形方式输出文本,以逻辑坐标为单位计算输 出位置, 是以行为单位。 出位置,而DOS是以行为单位。用户可以设置文本的各 是以行为单位 种效果,如加粗、斜体、设置颜色等。 种效果,如加粗、斜体、设置颜色等。
需要添加 的代码
3/7/2012
23
3/7/2012
24
主要内容
GDI与设备环境(DC) 与设备环境( ) 与设备环境 用CDC绘图 绘图 应用举例 绘图工具类
3/7/2012
25
绘图工具类CGdiObject 绘图工具类
绘图工具类主要包括画笔CPen、画刷Cbrush、 绘图工具类主要包括画笔CPen、画刷Cbrush、字体 画笔CPen Cbrush CFont、位图Bitmap和调色板Cpalette Bitmap和调色板Cpalette等 CFont、位图Bitmap和调色板Cpalette等。 类继承关系如图 CObject
3/7/2012
16
OnDraw与OnPaint的区别 与 的区别
OnDraw是CView类的成员函数,不响应消息;OnPaint是 是 类的成员函数, 类的成员函数 不响应消息; 是 CWnd类的成员函数,相应 类的成员函数, 消息。 类的成员函数 相应WM_PAINT消息。 消息 CView默认调用的 默认调用的OnPaint函数如下 默认调用的 函数如下
void CView::OnPaint() { CPaintDC dc(this); OnPrepareDC(&dc); ; OnDraw(&dc); //调用了 调用了OnDraw 调用了 }
可见OnPaint函数也调用了 可见 函数也调用了CView::OnDraw函数。因而一 函数。 函数也调用了 函数 般在OnDraw函数内添加绘图代码,完成绘图任务 函数内添加绘图代码, 般在 函Fra bibliotek内添加绘图代码
3/7/2012
6
设备坐标系统
设备坐标系统
x轴自左至右,y轴从上到下,坐标原点在屏 轴自左至右, 轴从上到下 轴从上到下, 轴自左至右 幕左上角
O [0,0] X
Y
3/7/2012
7
主要内容
GDI与设备环境(DC) 与设备环境( ) 与设备环境 用CDC绘图 绘图 应用举例 绘图工具类
3/7/2012
CPaintDC dc(this);
类的其它函数中, 在CWnd类的其它函数中,定义 类的其它函数中 定义CClientDC和 和 CWindowDC的对象 的对象
CClientDC dc(this); CWindowDC dc(this);
3/7/2012
14
CClientDC、CPaintDC和CWindowDC的区别 、 和 的区别
3/7/2012
5
设备环境
应用程序的输出面向设备环境(Device Context,DC),是 应用程序的输出面向设备环境 , , 一个虚拟逻辑设备,也称设备描述表或设备上下文。 一个虚拟逻辑设备,也称设备描述表或设备上下文。设备 环境DC 是由 是由GDI 创建,用来代表设备连接的数据结构。 创建,用来代表设备连接的数据结构。 环境 DC 的主要功能
3/7/2012
11
绘图颜色
DWORD类型的 类型的COLORREF数据用于存放颜色值 类型的 数据用于存放颜色值 “0x00bbggrr” ”
低位字节存放红色强度值 第2 个字节存放绿色强度值 第3个字节存放蓝色强度值 个字节存放蓝色强度值 高位字节存放0 高位字节存放
可用RGB宏设置颜色值,将红、绿、蓝分量值转 宏设置颜色值,将红、 可用 宏设置颜色值 换为COLORREF类型的颜色数据 换为 类型的颜色数据
3/7/2012
15
Windows系统发送WM_PAINT消息的时机 系统发送 系统发送 消息的时机
第一次创建一个窗口时 改变窗口的大小时 把窗口从另一个窗口背后移出时 窗口显示数据变化时, 窗口显示数据变化时,应用程序引发重绘操作
通过CWnd::Invalidate、CWnd::InvalidateRect或 、 通过 或 CWnd::InvalidateRgn函数把指定区域加到窗口的 函数把指定区域加到窗口的 Update Region中。 中 窗口的Update Region不为空时,系统会自动产生 不为空时, 窗口的 不为空时 WM_PAINT消息。 消息。 消息
允许应用程序使用一个输出设备。 允许应用程序使用一个输出设备。 提供应用程序、设备驱动和输出设备之间的连接。 提供应用程序、设备驱动和输出设备之间的连接。 保存当前信息,例如当前的画笔、画刷、 保存当前信息,例如当前的画笔、画刷、字体和位图等图形对象及 其属性,以及颜色和背景等影响图形输出的绘图模式。 其属性,以及颜色和背景等影响图形输出的绘图模式。 保存窗口剪切区域(Clipping Region),限制程序输出到输出设备中 保存窗口剪切区域 , 窗口覆盖的区域。 窗口覆盖的区域。
当窗口的某个区域需要重绘时激发窗口重绘消息WM_PAINT,相应消息 , 当窗口的某个区域需要重绘时激发窗口重绘消息 处理函数CWnd::OnPaint将被调用。CPaintDC一般只用于 将被调用。 一般只用于OnPaint函数 处理函数 将被调用 一般只用于 函数 在处理完窗口重绘后, 对象的析构函数把WM_PAINT消 中,在处理完窗口重绘后, CPaintDC对象的析构函数把 对象的析构函数把 消 息从消息队列中清除,避免不断地重绘操作。坐标原点(0,0)是客户区的 息从消息队列中清除,避免不断地重绘操作。坐标原点 是客户区的 左上角。 左上角。 CClientDC用于特定窗口客户区(窗口中除边框、标题栏、菜单栏、状 用于特定窗口客户区( 用于特定窗口客户区 窗口中除边框、标题栏、菜单栏、 态栏外的中间部分)的输出,其构造函数中包含了GetDC,析构函数中包 态栏外的中间部分)的输出,其构造函数中包含了 析构函数中包 含了ReleaseDC,不需要显式释放 资源。一般用于响应非重绘消息 资源。 含了 ,不需要显式释放DC资源 如键盘和鼠标消息)的绘图操作。坐标原点(0,0)是客户区的左上角。 是客户区的左上角。 (如键盘和鼠标消息)的绘图操作。坐标原点 是客户区的左上角 CWindowDC在整个应用程序窗口上画图,而CClientDC和CPaintDC只 在整个应用程序窗口上画图, 在整个应用程序窗口上画图 和 只 能在客户区绘制图形;除非要自己绘制窗口边框和按钮, 能在客户区绘制图形;除非要自己绘制窗口边框和按钮,否则一般不用 坐标原点(0,0)是屏幕的左上角。 是屏幕的左上角。 它。坐标原点 是屏幕的左上角
相关文档
最新文档