‐”字层叠节点。
(1) ClassView 面板(类面板) 类面板显示了当前项目中所包含的类和类成员的树型结构,如图 1.11 所示。
展开“DrawTestclasses”节点,该节点的下层节点就是当前项目中所包含的所有类;展开每个类节点,所显示的就是该类中的所有类成员,包括成员函数和成员变量。
在类的每个成员节点的左边都有一个小图标,该图标给出了成员函数或成员变量的类型以及存取类别: 钥匙图标,表示该类成员为保护成员; 红色方块,表示该类成员为成员函数; 蓝色方块,表示该类成员为成员变量; 锁,表示该类成员为私有成员变量; “Globals”节点下是项目中的全局成员。
通过使用类面板,用户可以很方便的查看和编辑源代码文件。
双击类节点,就会打开对应该类的头文件;双击类成员节点,就会打开相应的源码文件,并定位到相应的位置:双击成员函数,打开类文件(.cpp 文件) ,并定位到函数方法名最左端;双击成员变量,打开头文件(.h 文件) ,并定位到变量声明的最左端。
如图 1.12,就是双击了 CDrawTestView 类的 OnDrawCDCpDC成员函数节点。
开发平台打开 DrawTestView.cpp 类文件,并将光标定位在 OnDraw 函数名的最左端。
用户可以在源代码编辑窗口中进行代码编写。
在类节点或类成员节点上用鼠标右键单击,会弹出快捷菜单,如图 1.13 所示。
利用快捷菜单,用户可以方便的创建新类;给已有类增减成员函数和成员变量;直接跳转到类、成员函数、成员变量的定义和声明处等等。
具体的使用方法将在后面进行介绍。
(2) ResourceView 面板(资源面板) 资源面板用于管理项目资源,应用程序中所使用的对话框、图标、菜单、工具条等都属于项目资源。
如图 1.14 所示。
根节点“DrawTest resources”的下层节点是各种项目资源文件夹。
展开项目资源文件夹,就可以看到项目中包含的资源。
双击资源节点,就可以对该资源进行查看和编辑。
例如用户想要查看当前应用程序的工具条,就可以先展开 Toolbar 项目文件夹节点,然后双击 IDR_MAINFRAME(我们所创建的应用程序的工具条) ,就可以对该工具条进行查看和编辑。
(3) FileView 面板(文件面板) 文件面板显示了项目所包含的各种文件及其之间的关系,如图 1.15 所示。
用鼠标双击文件面板中的文件名, 源代码编辑窗口会自动以合适的编辑器打开相应的文件。
在文件面板中我们看到在“Source Files”中有一个 DrawTest.rc文件。
.rc 文件就是项目的资源文件,双击该文件,将自动打开资源面板。
虽然我们在文件面板中也可以打开类的源代码文件,对类及其成员进行编辑。
但是这里还是强烈建议用户使用类面板对类及其成员进行操作。
在面向对象程序设计中, 程序员操作的对象是类,代码的设计和编写始终都应该是基于类对象的。
通过类面板,用户可以时刻了解当前应用程序的类组成,而且每个类的成员构成一目了然。
尽管 Visual C 6.0 中每个类仍然是由两个源代码文件组成,但是我们在编程过程中应该将这两个文件当成一个整体来看。
利用类面板及其提供的快捷菜单,也可以加快开发,减少错误。
1.2.3 文档/视图体系 前面在创建 MFC 项目的时候,我们曾经设置过要应用程序支持文档/视图体系。
这里我们说明一下什么是文档/视图体系。
在说明之前,先看看我们创建的这个单文档应用程序都包含了哪些类。
通过类面板,我们可以看到在当前项目中包含了五个类: CAboutDlg 类,CDrawTestApp类,CDrawTestDoc 类,CDrawTestView 类和 CMainFrame 类。
其中 CAboutDlg 类是一个对话框类,其基类是 CDialog。
该类是应用程序中的“关于”对话框。
运行应用程序,我们可以看到该对话框,这里不详细说明了。
CDrawTestApp 类是应用程序对象类,其基类是 CWinApp。
CWinApp 类是每个 Windows 应用程序对象的基类,它完成应用程序的初始化、运行和终止功能。
所以 CDrawTestApp 类在整个应用程序中完成程序初始化、运行及终止的工作。
CMainFrame 类是主框架窗口类,其基类是 CFrameWnd。
CFrameWnd 类是单文档应用程序主框架窗口的基类。
在应用程序中,工具条和状态条都属于主框架窗口,所以它们都在该类中进行加载。
还有两个类,就是我们要介绍的文档和视图。
CDrawTestDoc 类是文档类,其基类是文档基类 CDocument。
CDrawTestView 类是视图类,在本项目中,选择的基类是视图基类 CView。
MFC 应用程序通过建立文档/视图体系,将数据、数据的显示和用户对数据的操作区分开来,使多视图、多文档类型、拆分窗口等有用的功能特性更加容易实现。
在文档/视图体系中,数据被移植到文档(Document)数据对象中,输出功能由视图承担,而框架窗口仅仅是一个容器,负责包含和管理视图。
文档(Document)就是数据对象的集合。
通过它,用户可以定义、存储和管理应用程序的数据,并可以将数据写入或读出永久存储介质(如硬盘等) 。
视图(View)就是窗口对象,负责向输出设备(如显示屏幕、打印机等)输出应用程序中的数据(在本书中主要是向显示屏幕输出图形数据) ,提供文档和用户的交互界面。
通过它,可以观察、选择和编辑文档中的数据,所有用户和文档的交互都必须通过与文档相对应的视图进行。
MFC 中的绘图基本就是在视图中进行绘图。
文档和视图是一个不可分割的统一体!文档基类 CDocument 和视图基类CView 是文档/视图体系中最重要的两个类。
所有的文档类都是由 CDocument 派生而来的。
CDocument 包容了用户应用程序中的数据,定义了框架窗口如何对文档起作用。
CView 类及其派生视图类是用户的数据窗口,它控制着应用程序文档内容的显示以及用户和应用程序文档的交互 (MFC 的绘图及相关的用户交互都是在视图中完成的) 。
不同的视图派生类分别支持不同的功能。
如 CSrollView 类是具有滚动功能的视图类,从它派生的类可以自动实现滚动功能;CFormView 类是对话框资源视图类,从它派生的类可快速实现基于对话框资源的用户界面;CEditView 类为文档提供一个基于文本编辑的用户界面;CDaoRecordView 类提供直接链接到 DAO 记录集的表单视图;CRichEditView 类比 CEditView 类封装了更多的文本编辑功能,如支持字体、颜色、段落格式化等等;CListView 类是列表控件视图类,用于显示图标和字符串;CTreeView 类是树形图视图类,等等。
1.3 设备环境 DC 和 OnDraw 函数 通过前面的介绍,我们已经创建了一个 MFC 项目 DrawTest,并且了解了 MFC的文档/视图体系,知道 MFC 绘图绝大多数都是在视图中绘图。
而在视图中绘图必须使用设备环境 DC。
现在我们先完成一个简单的在视图中的绘图。
通过类面板,选择 CDrawTestView 类的 OnDraw 方法。
在 OnDraw 方法中的“//TODO:adddrawcodefornativedatahere”注释下输入代码: voidCDrawTestView::OnDrawCDCpDC CDrawTestDocpDocGetDocument ASSERT_VALIDpDoc //TODO:adddrawcodefornativedatahere pDC‐gtLineTo200200//用户编写的代码 然后编译运行应用程序。
这里简单介绍一下 VisualC6.0 的 Build 工具条。
如图 1.16 所示。
工具条中的各按钮功能如下表: 图 标 命 令 功 能 Compile 编译文件 Build 建立项目 StopBuild 停止项目的建立 ExecuteProgram 执行文件 Go 启动或继续执行程序 Insert/RemoveBreakpoint 插入/删除断点 我们可以先用 Compile 或者 Build 来编译链接应用程序,然后用 ExecuteProgram 来运行应用程序。
因为 MFC 项目涉及的类较多, 有时候因为编译顺序问题,在使
上一篇:
cvs使用手册
下一篇:
澳洲硕士课程作业Community