欢迎来到天天文库
浏览记录
ID:37506090
大小:354.36 KB
页数:11页
时间:2019-05-24
《实验指导书(实验一)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1、VisualC++基本知识一、VisualC++开发系统基本绘图知识Windows应用程序框架的核心是文档与视的相互关系,应用程序框架中的文档和视图结构文档即应用程序处理的数据对象,如NotePad中的文本。视即指文档的应用程序中的表现方式或用户用于改变文档的交互窗口对像。MFC中与绘图有关系的几个关键类如下:(1)文档类(Document)文档是用户处理数据的对象。文档一般从MFC中类CDocument中派生,由CDocument派生的类主要用于存储数据。CDocument类用于相应数据文件的读
2、取及存储Cview类所需要观察和处理的信息。(2)视类(View)视相当于文档在应用程序中的观察窗口,它确定了用户对文档的观察方式和用户编辑文档的方式。如果需要,用户可在多个视中对文档进行操作,即多文档结构。对于图形来说视就好比我们进行绘图工作的画布,对图形的操作都是在视上进行的。因此掌握好视类对我们很重要。另外,视类中有一个重要的成员函数----OnDraw()函数,应用程序中,几乎所有‘画’的动作都出现在OnDraw()中或由它来引发。该函数必须被重载。重载的OnDraw()函数要完成两件事,即调
3、用相应的文档的函数获取文档数据和调用GDI(图形设备接口)的函数在视中画出文档数据。(3)主窗口类(MainFrameWindow)主窗口是Windows应用程序中限定其所有窗口范围的最外边框。应用程序中的所有其他窗口都直接或间接地为主窗口的子窗口,如标准菜单、工具条、状态条等。(4)文档类模板(DocumentTemplate)文档类模板用于协调文档对象、视对象、和主窗口对象的创建过程。一个文档模板可以管理同一文档类型的所以文档。对于不同的类型的文档,必须使用不同的文档模板类。(5)应用类(Appl
4、ication)一个应用程序有且只有一个应用类的对象,它控制上述所有的对象,确定程序的特点,并负责应用程序的初始化,以便创建和管理程序支持的文档模板对象,一个应用程序对象就代表一个应用程序。(6)图形设备接口PC机种上可以连接多种不同的视讯设备,所以,GDI的主要目的之一是支援与装置无关的图形。图形设备接口GDI(GraphicDeviceInterface)管理Windows应用程序在窗口中的所有绘图操作和与此有关的诸多方面。如图形设备的信息,坐标系和映射模式,绘图的当前状态(画笔、画刷、颜色、字体
5、等),绘图的具体操作(如画线、画图等);(7)设备环境类CDC是MFC中最重要的类之一,更是绘图应用程序中最重要的类,CDC类定义的是设备上下文对象的类。CDC类的内容十分丰富,包含了和绘图有关的方方面面。CDC类提供的成员函数可以用于对设备环境的操作、绘图工具的使用、图形设备接口(GDI)对象的选择等,但在使用CDC类对象应注意一个问题:为使用CDC对象,须构造一个CDC对象,然后才能调用它的成员函数。使用完成后,必须在适当地方将其删除,在Windows环境中可获得的设备环境的数量是有限的。如果太多
6、的CDC对象没有被删除,计算机的资源将很快耗尽,VC++也会在调试窗口中报错。框架大部分的代码是应用程序自动生成的,程序设计的大部分工作是在视类的两个文件(.h头文件和.cpp应用文件)中进行的。二、计算机图形学绘图系统设计基本原则设计一个图形系统是一个复杂的工作,设计工作一般分为需求分析、设计、编程、测试和运算等几个阶段,每一阶段各有明确任务。对于一个交互式通用图形系统的设计原则大致如下:(1).结构层次化、模块化;(2)通用性强,使用方便;(3)处理速度快;(4)程序易读、查、改以及移植和扩充;三
7、、图形程序设计步骤(1)根据实际需要,确定绘图程序的功能和用途。(2)明确所绘制图行的几何形成过程。(3)根据图形绘制要求对所绘制图形进行系统的模块划分。(4)针对各个模块的功能确定相应绘图算法(5)编写绘图程序(6)上机调试、运行和绘图;对写好的程序,首先要在纸上进行认真仔细的检查,不要匆忙上机,程序通过认真检查后在上机调试、编译,初学者容易忽略这一点,在计算机上占用大量时间。四、在VisualC++集成开发环境下程序的调试(1)运行要调试的程序;(2)利用F9在需要行设置断点(3)可用F11一次执
8、行一条语句,一步步跟踪;可以跟踪进某行调用的函数(如果不想跟踪进函数,可用F10)打开Watch窗口(按Alt+3组合键)或QuickWatch窗口(按Shift—+F9组合键),也可以打开运算窗口或通过主菜单中的Debug菜单的选项来打开,观察已经执行过的一段程序中的变量值。在Watch窗口中有几个Watch子窗口,在每个子窗口的Name列任意一行键入变量名后回车在相应的Value列中就得到程序中此变量的值。这样可观察程序运行中变量值的计算与传递是否正
此文档下载收益归作者所有