欢迎来到天天文库
浏览记录
ID:51479003
大小:443.50 KB
页数:69页
时间:2020-03-24
《利用CDC实现绘图程序.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章利用CDC实现绘图程序8.1图形绘制的基本知识8.2VC的文本操作8.3CDC的绘图操作8.4Windows绘图工具习题教学要点本章内容包括设备环境与绘图程序的关系,设备环境主要功能以在MFC对应的CDC类,利用设备环境类CDC操纵文本(文本的字体、颜色和属性控制),利用设备环境类CDC实现简单图形的绘制(点、线、椭圆、矩形和弧等),各种绘图工具(画笔、画刷)使用。要求了解CDC编写的绘图程序调用GDI ,进而调用设备驱动程序的流程,CDC的几个派生类及其使用,掌握CDC的文本操作和图形绘制、常见的绘图参数设置函数的用法、常见的绘图工具画笔和画刷的使用,熟
2、练掌握调用API或CDC成员函数选择库存中的绘图工具。8.1图形绘制的基本知识8.1.1一个简单的图形程序8.1.2图形操作的接口——GDI8.1.3图形操作有关的CDC类8.1.4CDC的内容8.1.1一个简单的图形程序为了理解利用MFC编制图形程序的过程,也为了理解图形程序所用到的概念和原理,我们以一个简单的图形程序(仅仅用到了文本输出函数TextOut)为例,讲解程序的生成步骤及编写代码的步骤。该程序是利用MFCAppWizard向导生成的第一个程序,我们对MFC编程的初步理解是:首先掌握AppWizard向导生成的步骤,然后理解AppWizard生成的应
3、用程序架构包含哪些主要类,最后知道我们编写处理问题的代码放到MFC应用程序架构的什么地方。【例8-1】利用MFC编写一个简单的绘图程序1.利用AppWizard生成应用程序架构(1)启动VC6.0,选择“File”菜单的“New”命令,在弹出的“New”对话框中选择“Project”选项卡。在该选项卡的列表中选择“MFCAppWizard(exe)”项,在“ProjectName”编辑框中输入要创建的工程名称SingleDraw,在“Location”编辑框中设置工程的存放位置,单击“OK”按钮。(2)在弹出的“MFCAppWizard-Step1”对话框中选择
4、“singledocument”,即应用程序的类型为单文档模式,然后单击“Finish”按钮。(3)在弹出的“NewProjectinformation”对话框中单击“OK”按钮,完成应用程序框架的创建。【例8-1】续12.应用程序架构包含的主要类该程序主要包含的类有CAboutDlg关于对话框类、CMainFrame主框架类、CSingleDrawDoc文档类、CSingleDrawView视图类。有关绘制功能的实现,一般是在视图类中完成,因此,这一章的实例都是对视图类CSingleDrawView的操作。【例8-1】续23.将代码放到MFC的某个类的虚函数或
5、消息映射函数中绘图功能的实现,一般要超载视图类的OnDraw()虚函数,打开WorkSpace的ClassView选项卡,展开CSingleDrawView视图类,可以看到该类中有一个虚函数OnDraw(),双击该函数,就把光标定位到该函数的实现处,在其中编写代码如下:voidCSingleDrawView::OnDraw(CDC*pDC){CSingleDrawDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);pDC->TextOut(100,100,“在视图类的OnDraw虚函数中输出的最简单的一个图形程序");}【例8-1
6、】续34.运行程序编译并运行该程序(按Ctrl+F5热键),在屏幕上显示了一行文本。利用MFC的应用程序向导,我们仅写了一行代码,就完成了一个简单的图形程序——输出文本图形。从代码量上是简单了,但要理解整个图形程序的显示过程,却有许多工作要作,下面就围绕与图形输出有关的内容来讲解图形程序的编写过程和原理。8.1.2图形操作的接口——GDI任何图形程序的输出,都离不开图形设备接口GDI(GraphicDeviceInterface),它是管理Windows应用程序在窗口内的绘图操作和与此相关的许多其它信息。如图形设备(打印机、显示器)的信息、绘图的坐标系统和映射模
7、式、绘图工具的当前状态(什么样的画笔、画刷、文本的前景色与背景色、文本所使用的字体)。Windows的GDI绘制的各种图形(点、线、圆、多边形、矩形等)是与设备无关的,即在屏幕的窗口内绘图与在打印机上绘图是相似的。GDI是一个可执行程序,它接收Windows应用程序的绘图请求(表现为GDI调用),并将它们传送给相应的设备驱动程序,再由设备驱动程序驱动相应的硬件设备,如打印机或显示器输出。8.1.2续应用程序使用GDI可以对三种类型的图形进行操作:文本操作、矢量图形操作和光栅图形操作(图像操作)。文本操作是以逻辑坐标为单位来计算文本的输出位置,用户可以通过各种GD
8、I函数来作出具有各种效果
此文档下载收益归作者所有