计算机图形学实验指导书电子版(2)

2018-12-27 19:01

第二步:设置应用程序的特性。

这些设置包括六个问题,每一个问题都有不同的选项供选择。一个问题选择完后,通过“下一步”(Next)选择下一个问题,直到六个问题选择完毕。还可以通过“上一步”(Back)返回上一个问题重新选择。下面继续上面的例子,在单击“确定”按钮后,弹出第一个问题窗口,如图3-3所示。

第一个问题是建立什么类型的应用程序,有三个选项:单个文档(Single document)、多重文档(Multiple document)和基本对话(Dialog based)。单个文档应用程序主窗口中只有一个窗口,多重文档可以在主窗口中开多个子窗口,基本对话主窗口是一个对话框。例中选择单个文档,单击“确定”,进入下一个问题,如图3-4所示。

第二个问题是数据库的支持,是否用ODBC存取数据库,有四个选项:不包括数据库的支持(None)、仅包含ODBC头文件(Header files only)、指定一个数据库但没有文件支持和指定一个数据库但需要文件支持。当选择了后两项,则需要用户选择一个已经建立的数据库。例中不需要数据库支持,选择第一个选项“否”,进入第三个问题,如图3-5所示。

图3-3 第一个问题:选择应用程序的类型

图3-4 第二个问题:选择是否要用ODBC支持

-- 6

第三个问题是对ActiveX的支持。有五个选项:(1)没有对ActiveX的支持;(2)ActiveX容器,它可以包含链接和嵌入对象。容器不能为其它的ActiveX程序提供支持,它只能维护嵌入对象;(3)微型服务器(Mini-server),应用程序不能独立运行,只能被调用为其它程序建立ActiveX对象。(4)完整服务器(Full-server),它能够独立运行,并能够为其它应用程序建立ActiveX对象。(5)容器和服务器,一个应用程序可以同时是容器和服务器。

在例子中,选择第一个选项,没有对ActiveX的支持,单击“下一个”(Next)进入下一个问题。

图3-5 第三个问题:选择是否对ActiveX的支持

第四个问题是应用程序的特性和高级选项,如图3-6所示。

图3-6 应用程序的特性和高级选项

例中全部采用默认选项,进入下一个问题。

-- 7

第五个问题是项目的风格、原文件注释和MFC库类型,如图3-7所示。

在例子中全部采用默认选项,进入第六个问题。 第六个问题是确定类名和文件名,如图3-8所示。

基于第一个问题到第五个问题的回答,AppWizard会把将要建立的新类的名称通知用户。AppWizard将为应用程序建立四个新类,CVcAppApp是应用程序类,它是CWinApp的派生类。CMainFrame是一个拥有应用程序主窗口的类。CVcAppDoc和CVcAppView是该应用程序的文档和视图类。这些名字用户可以改变。最后单击“完成”(Finish),显示所建项目的信息,单击“确定”后,项目建立完成。

图3-7 项目的风格、原文件注释和MFC库类型

图3-8 通知MFC产生的类名称

3.1.3 输入源程序进行程序设计

应用程序项目工程建立以后,就为应用程序的开发建立了一个框架,这是不输入任何

-- 8

程序代码,对该项目程序进行编译和运行,可以生成一个完整的窗口程序。用户根据项目工程中的不同类,输入自己设计的程序代码,完成用户的程序设计。

例如,从VcApp Classes中找到CVcAppView的OnDraw()函数,如图3-9所示。双击OnDraw()函数,这时系统会打开VcAppView.cpp文件,而且光标正置于OnDraw()函数中,在其中输入下列语句:

pDc->TextOut(30,30,”同学们好,欢迎使用VC++编程!”); 编译并运行该程序,运行结果如图3-10所示。

图3-9 输入程序源代码

图3-10 运行结果

-- 9

3.2 图形设备接口和图形程序设计

3.2.1 图形设备接口简介

在Windows系统中,程序都是通过一个叫做图形设备接口(GDI, Graphics Device Interface)的抽象接口和硬件打交道,Windows会自动将设备环境表映射到相应的物理设备,并且会提供正确的输入/输出指令。

GDI是Windows系统核心的三种动态链接库之一,它管理Windows系统的所有程序的图形输出。在Windows系统中,GDI向程序员提供了高层次的绘图函数,只要掌握这些绘图函数,就可以很方便地进行图形程序设计。

另一个概念是设备描述表(DC, Device Context)。DC是一个数据结构,当程序向GDI设备中绘图时,需要访问该设备的DC。MFC将GDI的DC封装在C++类中,包括CDC类和CDC派生类,这些类中的许多成员都是对本地GDI绘图函数进行简单封装而形成的内联函数。

DC的作用就是提供程序与物理设备或者虚拟设备之间的联系,除此之外,DC还要处理绘图属性的设置,如文本的颜色等。程序员可以通过调用专门的GDI函数修改绘图属性,如SetTextColor()函数。

CDC类是GDI封装在MFC中最大的一个类,它表示总的DC。表3.1列出了CDC中的一些常用绘图函数。

表3.1 CDC类中常用绘图函数 函 数 Arc() BitBlt() Draw3dRect() DrawDragRect() DrawEdge() DrawIcon() Ellipse() FillRect() FillRgn() FillSolidRed() FloodFill() FrameRect() FrameRgn() GetBKColor() GetCurrentBitmap() GetCurrentBrush() GetCurrentFont() GetCurrentPalette() GetCurrentPen() GetCurrentPosition() GetDeviceCaps() 椭圆弧 把位图从一个DC拷贝到另一个DC 绘制三维矩形 绘制用鼠标拖动的矩形 绘制矩形的边缘 绘制图标 绘制椭圆 绘制用给定的画刷颜色填充矩形 绘制用给定的画刷颜色填充区域 绘制用给定的颜色填充矩形 用当前的画刷颜色填充区域 绘制矩形边界 绘制区域边界 获取背景颜色 获取所选位图的指针 获取所选画刷的指针 获取所选字体的指针 获取所选调色板的指针 获取所选画笔的指针 获取画笔的当前位置 获取显示设备能力的信息 描 述 使用频率 **** * ** ** ** *** **** *** *** *** *** ** ** ***** ** *** *** *** *** **** ** -- 10


计算机图形学实验指导书电子版(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:【精品】2018年高考语文非连续性文本阅读

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: