MFC图形绘制编程教程

MFC图形绘制编程教程

ID:36408440

大小:9.32 MB

页数:60页

时间:2019-05-09

MFC图形绘制编程教程_第1页
MFC图形绘制编程教程_第2页
MFC图形绘制编程教程_第3页
MFC图形绘制编程教程_第4页
MFC图形绘制编程教程_第5页
资源描述:

《MFC图形绘制编程教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Windows程序设计第三章图形编程3.1设备环境首先要明白一个常识,Windows是早于C++的,并独立于C++之外,因此,Windows的某些对象(注意这个说法“Windows的对象”)并不都属于C++封装技术的规范之内,即Windows的这些对象是Windows作为一个OS本身的对象,不是由某个C++的类创建而来,但是在C++里却可以用一个类封装这个(或这些)对象,并创建它们。设备环境就属于上述的对象之一,它是Windows的对象,MFC用CDC类封装了设备环境对象。3.1设备环境WindowsAPI给出了4种类型的设备环境显示设备环境:支持视频显示器上的图形操作;信息设备环境:提供

2、设备数据的检索;内存设备环境:支持位图上的图形操作;打印设备环境:支持打印机或绘图仪上的图形操作。在MFC中,针对Widnows的这4类设备环境,分别用4个DC类进行了封装:CDC类:基类;CPaintDC:只用于屏幕绘图;CClientDC:用于窗口客户区绘图;CWindowDC:用于窗口绘图;CMetaFileDC:用于操作图元文件3.1设备环境CObjectCDCCPaintDCCClientDCCWindowDCCMetaFileDC3.1设备环境屏幕设备环境--用于绘制窗口内容创建屏幕设备环境实例指针CDC*pDC=GetDC();//绘制客户区CDC*pDC=GetWindwo

3、DC;//绘制非客户区CDC*pDC=CDC::FromHandle(::GetDC(NULL));//绘制整个屏幕释放设备环境实例指针ReleaseDC(pDC);下面简单说明屏幕设备环境的使用方法信件MFC工程找到OnDraw()函数补充编写OnDraw()函数编译程序执行程序3.1设备环境3.1设备环境3.1设备环境单文档-记事本多文档-word,execl基本对话框-扫雷3.1设备环境3.1设备环境3.1设备环境3.1设备环境3.1设备环境3.1设备环境3.1设备环境3.1设备环境编译:主要进行语法检查,看你编的程序语法上有没有错误链接:将编译好的文件与库函数组装,生成可执行的ex

4、e文件设置断点:在光标所在行设置或取消断点调试:进入调试状态,程序会在第一个断点处停下等待。3.1设备环境StepInto-如果当前正在执行的语句中有函数,那么会进入函数体单步执行函数体的每一条语句。StepOver-如果当前正在执行的语句中有函数,会执行调用函数,不单步执行函数体。StepOut-如果当前正单步执行函数体,会直接跳出函数执行,返回上层代码。3.1设备环境变量监视窗口-程序中所有变量及其值均可以在其中查到自定义变量监视窗口-可以将上面窗口中某个变量拖动到本窗口中来监视3.1设备环境3.1设备环境内存设备环境内存设备环境通常是在文件处理的时候需要的,它为进行处理的文件开辟一片

5、内存空间。典型的应用是进行位图操作时:CDCMemDC;//创建CDC类的一个实例MemDCCBitmapbitmap;//声明位图类CBitmap的一个实例对象bitmapMemDC.CreateCompatibleDC(pDC);//创建兼容DCbitmap.CreateCompatibleDC(pDC,ICON_WIDTH,ICON_HEIGHT);//创建位图类CBitmap的实例对象MemDC.SelectObject(&bitmap);//内存设备对象选中位图对象bitmap3.2绘图函数画点-CDC实例对象包含两个常用画点函数SetPixel(x,y,RGB(r,g,b))-

6、用指定的颜色画一个像素,返回绘制时使用的实际颜色.SetPixelV(x,y,RGB(rg,b))-用指定的颜色画一个像素,没有返回值,因此绘图速度比上一个函数要快3.2绘图函数3.2绘图函数画线-CDC实例对象包含8个常用画线函数MoveTo()-开始画线、弧和多边形时,把光标移动到一个初始位置;LineTo()-画一条从初始位置到另一个点的直线;Arc()-画一段弧;AngleArc()-画一条线,然后画一段弧,并更新初始位置;PolyDraw()-画一系列线段和Bezier(贝济埃)曲线;PolyLine()-画一系列线段;PolyPolyLine()-画多个系列线段;3.2绘图函数

7、3.2绘图函数画形状Ellipse()-画一个椭圆;Rectangle()-画一个矩形;Pie()-画一个扇形;RoundRect()-画一个圆角矩形;Draw3dRect()-画一个三维矩形;Polygon()-画一个得到焦点的矩形;DrawEdge()-画一个矩形的边缘;PolyPolygon()-创建一个或多个多边形;3.2绘图函数定义弧的椭圆母体所对应的矩形区域定义切割椭圆母体的两个点3.2绘图函数高光部分的颜色

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。