2.1 Visual C++可视化集成开发环境
Visual C++提供了一个支持可视化编程的集成开发环境:Visual Studio(又名Developer Studio)。Developer Studio是一个通用的应用程序集成开发环境,它不仅支持Visual C++,还支持Visual Basic,Visual J++,Visual InterDev等Microsoft系列开发工具。Developer Studio包含了一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工具,以及一套联机文档。使用Developer Studio,可以完成创建、调试、修改应用程序等的各种操作。
Developer Studio采用标准的多窗口Windows用户界面,并增加了一些新特性,使得开发环境更易于使用,用户很容易学会它的使用方法。一个典型的Developer Studio用户界面如图2.1所示。
图2.1 Developer Studio用户界面
由于Developer Studio是一个可视化的开发工具,在介绍Developer Studio的各个组成部分之前,首先了解一下可视化编程的概念。可视化技术是当前发展迅速并引人注目的技术之一,它的特点是把原来抽象的数字、表格、功能逻辑等用直观的图形、图象的形式表现出来。可视化编程是它的重要应用之一。所谓可视化编程,就是指:在软件开发过程中,用直观的具有一定含义的图标按钮、图形化的对象取代原来手工的抽象的编辑、运行、浏览操作,软件开发过程表现为鼠标点击按钮和拖放图形化的对象以及指定对象的属性、行为的过程。这种可视化的编程方法易学易用,而且大大提高了工作效率。
Visual C++的集成开发环境Developer Studio提供了大量的实用工具以支持可视化编程特性,它们包括:项目工作区、ClassWizard、AppWizard、WizardBar、Component Gallery等。下面我们将对它们作逐一介绍:
2.1.1 项目工作区
项目工作区是Developer Studio的一个最重要的组成部分,程序员的大部分工作都在Developer Studio中完成。Developer Studio使用项目工作区来组织项目、元素以及项目信息在屏幕上出现的方式。在一个项目工作区中,可以处理:
一个工程和它所包含的文件
一个工程的子工程
多个相互独立的工程
多个相互依赖的工程
一个项目工作区可包含由不同的开发工具包生成的工程,如Visual C++和Visual J++。在桌面上,项目工作区以窗口方式组织项目、文件和项目设置。项目工作区窗口一般位于屏幕左侧,如图2.2所示。项目工作区窗口底部有一组标签,用于从不同的角度(视图)察看项目中包含的工程和联机文档。
图2.2 项目工作区窗口
每个项目视图都有一个相应的文件夹,包含了关于该项目的各种元素。展开该文件夹可以显示该视图方式下工作区的详细信息。项目工作区包含四种视图:
FileView(文件视图):显示所创建的工程。展开文件夹可以察看工程中所包含的文件。
ClassView(类视图):显示项目中定义的C++类,展开文件夹显示工程中所定义的所有类,展开类可察看类的数据成员和成员函数以及全局变量、函数和类型定义。
ResourceView(资源视图):显示项目中所包含的资源文件。展开文件夹可显示所有的资源类型。
InfoView(文档视图):显示联机文档目录表。展开目录表可以显示所有的帮助主题,双击主题将弹出InfoViewer Topic窗口,显示关于该主题的详细信息。要显示关于源程序窗口的关键字的相关信息,可以将光标移动到该关键字上,然后按下F1键。还可以使用InfoViewer显示来自Internet WWW(万维网)的页面。
单击项目工作区底部的标签可以从一个视图切换到另一个视图。
每个视图都是按层次方式组织的。可以展开文件夹和其中的项察看其内容,或折叠起来察看其组织结构。在项目视图中,如果一项不可以再展开,那么它是可编辑的。双击这一项便可以打开相应的文档编辑器进行编辑:对类和源程序文件来说,是打开文本编辑器,对于对话框来说是打开对话框编辑器等。每个视图还支持右键快捷菜单。
使用文件视图(FileView)
FileView窗格显示了工程文件和项目工作区中所包含的文件的逻辑关系。一个工作区可以包含多个工程,其中活动工程以黑体显示。活动配置决定了编译活动工程时的编译选项。活动工程是使用Build或Rebuild All时要编译的那一个工程。可以用Build菜单上的Set Active Configuration选择不同的活动配置;也可以在Project菜单上用Set Active Project选择不同的活动工程。
使用FileView可以:
察看文件;
管理文件:包括增加、删除、移动、重命名、拷贝文件等。
要增加一个文件到过程中,可以选择Project->Add to Project->Files菜单,弹出文件对话框,选择相应文件即可;要从工程中删除一个文件,可打开工程文件夹,选择相应文件,然后按DEL键。
使用类视图(ClassView)
ClassView显示所有已定义的类以及这些类中的数据成员、成员变量。Visual C++自动从项目工作区中所包含的源程序文件中分离出类。
在ClassView中,文件夹代表工程文件名。展开ClassView顶层的文件夹后,显示工程中所包含的所有的类,如图2.3。双击一个类的图标(或单击图标旁的+号)时,ClassView展开该类并显示其类成员。
图2.3 类视图
ClassView使用图标标识类、类成员和工程中的其他项,图2.4显示了所有的图标和含义:
图2.4 类视图中图标的含义
利用ClassView不仅可以浏览应用程序所包含的类以及类中的成员,还可以快速跳到一个类或成员的定义,步骤如下:
1.选择要查找的定义或声明的符号
2.双击所选的符号名。
要打开关于某一个类声明的头文件,只需双击类名即可。
要想查找某一个变量的参考:
1.将光标定位在该符号处
2.按鼠标右键,弹出快捷菜单,选择Reference(此时应确保已经生成了Browse(浏览)文件,关于Browse文件的选项,可以在Project -Settings中设置)。
2.1.2 AppWizard(应用程序向导)
AppWizard是Visual C++提供的一个高级编程工具,它可以产生应用的C++源代码框架。通过与另一个工具ClassWizard一起配合使用,可大大节省开发应用程序的时间和精力。
AppWizard是一个标准的C++源代码生成器。它通过一系列的对话框来提示用户输入所需创建的程序的信息,如它的名字和位置。用户还可以指定它是否具有一些特性,如多文档接口或工具条,对数据库、OLE的支持等。然后AppWizard生成一些文件,这些文件构成程序的框架。由AppWizard生成的程序是一个基本的Windows程序,用户可以编译并运行——它实际什么也不做。它只是准备好增加那些为程序提供功能性的资源和代码。这样就节省了用户设计应用程序框架的时间和精力,用户所要做的工作只是直接往框架中添加自己的处理代码。
2.1.3 ClassWizard(类向导)
ClassWizard是一个交互式工具,用来建立新的类,定制类,把消息映射成类成员函数,或者把控制框映射为类变量成员。在开发程序时,可用ClassWizard建立程序所需要的类,包括消息处理和消息映射例程(用于定位处理消息的代码)。
使用ClassWizard,可以将成员函数或变量加入到一个类中,或修改已经存在的函数和变量。Wizard使函数或变量放在何处,如何称呼它们以及其他一些细节问题大大简化。
ClassWizard所能识别的类必须在ClassView数据库文件(.CLW)中登记。使用ClassWizard可以:
创建新类:从许多框架基类中派生出新类
映射消息到函数
新建、删除消息处理函数
察看已被处理的消息并跳到消息处理代码处
定义成员变量:这些变量会被自动初始化,释放,执行对话框数据检验等
创建新类时,自动加入方法和属性
处理现有的类和类库
在后续章节中,我们将举例说明AppWizard和ClassWizard这两个工具的用法。
2.1.4 WizardBar(向导工具条)
WizardBar是一个可停泊的工具条,用于快速访问一些Developer Studio最实用的功能,比如ClassWizard或ClassView的一些功能。WizardBar会自动跟踪用户程序的上下文——比如,当文本编辑器中的光标从一个函数移动到另一个函数时,Wizard的显示会自动更新。
WizardBar工具条包含了三个相关的下拉列表框:类(Class)、过滤器(Filter)和成员(Member),如图2.5所示。类列表框包含了应用程序定义的所有类。当前所选择的类决定可用的过滤器;所选的过滤器决定Member列表中显示的内容。选择Member中的一项,可以跳到相应的成员定义。WizardBar最右边是一个Action Control,单击Action Control 的向下箭头符号会弹出一个菜单,用于执行跳到函数定义、增加消息处理函数等操作。
图2.5 WizardBar
WizardBar使得处理类、成员和资源更加方便。使用WizardBar,可以:
增加一个新类
建立一个新的函数或方法
跳到一个已存在的函数或方法
2.1.5 Componet Gallery(组件画廊)
Componet Gallery是一个组件库,它保存着以后可以共享和重用的代码。这些代码包括由Visual C++自带的组件和从用户工程中增加到Gallery中去的用户自定义组件。
可以使用Gallery提供的组件增强用户编写的应用程序的功能。Visual C++提供了一组应用程序的常用组件,分为两类:Developer Studio Components和Register ActiveX Controls。其中Developer Studio Components包含了我们经常使用的一些标准的Windows应用程序特性,比如:弹出菜单,剪贴板,对话条,启动画面(Splash Window),定制状态条(带时间显示),日积月累对话框等。Register ActiveX controls则用于往程序里添加ActiveX控件。
增加组件到应用程序中
组件总是加入到活动工程中。要增加组件到工程中,可以从Project菜单选取Add to Project-Components and Controls。将弹出一个对话框,选择相应的组件,回答一系列问题后,Component Gallery 将自动在你的工程文件总加入该组件的CPP、H文件以及资源,并自动修改你的源程序,插入必要的代码。无需编程,即可增加一些常用功能,如启动画面。有关使用Componet Gallery的例子,可参见第三课有关“弹出菜单”一节。
2.1.6 Developer Studio的一些快捷特性
为了使开发环境更易于使用,Developer Studio还提供了一些快捷特性,包括:右键菜单、快速访问常用对话框、属性对话框、键盘快捷键等。
右键菜单(快捷菜单)
在Developer Studio的许多窗口中,可以在一个选中的对象或窗口背景上单击鼠标右键弹出快捷菜单。
快捷菜单包含了与当前区域或所选项相关的一组常用命令。大多数命令都可以从菜单条上访问,但用快捷菜单更加方便。
快速访问常用对话框:
在列表出现的窗口中,通常可以通过双击列表中的一项显示与该项相关的常用对话框。比如,要编辑字符串列表中的一项,可以双击它,弹出字符串编辑对话框,用于编辑双击的那一项。
属性对话框
选择一个项,单击右键,从快捷菜单上选择Properties,就显示出关于该对象的属性对话框。属性对话框显示在一个属性页中,可能包含许多标签。弹出属性对话框的快捷键是Alt+Enter。点一下对话框左上角的图钉按钮,可以把该属性对话框固定在所有窗口前面。如果有可编辑的属性,就可以在属性页中直接修改。下图是修改某个编辑框属性的一个例子。
图2.6 属性对话框
键盘快捷键
键盘快捷键为那些喜欢键盘而不喜欢用鼠标的用户提供了执行某一功能的替代方式。Developer Studio为一些常用的命令分配了缺省得快捷键。用户可以自定义快捷键。
为了高效的使用Developer Studio,建议读者记住以下一些常用的快捷键:
打开文件 File Open CTRL+O 打开一个已有的文件
保存文件 File Save CTRL+S 保存活动文档
编辑复制 Edit Copy CTRL+C
编辑剪切 Edit Cut CTRL+T
编辑粘贴 Edit Paste CTRL+V
编辑查找 Edit Find CTRL+F
编辑取消 Edit Undo CTRL+Z
下一条错误 F4
上一条错误 SHIFT+F4
下一个窗口 CTRL+F6
对象属性 ALT+ENTER
建立可执行文件 Build F7
运行 Execute CTRL+F5
建议为View-Full Screen,Help-Search增加自定义的快捷键。要自定义快捷键,可以选择Tools-Customize菜单来实现。