Visual C++程序设计学习笔记
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 Visual C++ 概述

本章为本书第一章,主要内容更侧重于有关Visual C++ 6.0的基础知识,对于初学者来说这是非常重要和必要的。Visual C++ 6.0是Microsoft公司推出的一款功能强大的Windows程序设计工具,其中包含着丰富的内容,我们将从Visual C++ 6.0的历史和最基本的安装操作讲起,由浅入深,让读者逐步了解和掌握Visual C++ 6.0。

本章内容包括:

★Visual C++ 6.0简介

★Visual C++的安装

★Visual C++集成开发环境

★菜单栏和工具栏的应用

1.1 Visual C++ 6.0简介

Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已经成为专业程序员进行软件开发的首选工具。要使用Visual C++编程,首先要了解它的集成开发环境。Visual C++集成开发环境中的程序开发工具很多,要真正掌握它们必须结合具体的编程内容。本章只简单介绍Visual C++集成开发环境的特点、安装要求、界面风格和简单工具的使用。通过本章的学习,读者能够对Visual C++有一个感性的认识。

尽管Microsoft公司已经推出了Visual C++ .NET,但Visual C++ .NET的应用存在较大的局限性。考虑到教材的特点和实际应用情况,本书仍然以Visual C++ 6.0作为教学平台。Visual C++ 6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境。Visual C++ 6.0由许多组件组成,包括编辑器、编译器、调试器以及程序向导AppWizard等开发工具。这些组件通过一个名为Developer Studio的组件集成为统一的开发环境。

1.1.1 Visual C++的特点

Visual C++的源程序要求用C++语言编写,它支持面向对象设计方法,并可以使用功能强大的微软基础类库MFC(Microsoft Foundation Classes),充分体现了Microsoft公司的技术精华。由于Microsoft公司在操作系统市场上的垄断地位,用Visual C++开发出来的软件稳定性好,可移植性强,而且软件与硬件相互独立。

利用Visual C++可以编制各种类型的Windows应用程序,从最简单的单文档和对话框程序到复杂的多文档和组合界面程序。并且Visual C++作为Visual Studio可视化组件家族中最重要的一个成员,与其他可视化工具如Visual Basic、Visual J++及Visual C#紧密地集成在一起,可进行不同类型的程序开发工作,适用于特殊、复杂和综合软件项目的开发以及系统软件的设计。

Visual C++ 6.0源代码编辑器提供了自动语句完成功能,编辑输入源程序时,能自动显示当前对象的成员变量和成员函数,并指明函数的参数类型。Visual C++ 6.0的编译器增加了新的编译参数,改进了对ANSI C++标准的支持,并采用Microsoft的代码优化技术,使生成的目标代码更短小,应用程序运行的速度更快。Visual C++ 6.0程序调试器功能更强大,提供了诊断映射机制、无须重编译的调试、远程调试和实时调试等功能。

Visual C++ 6.0的联机帮助系统MSDN Library(Microsoft Developer Network Library)采用了当今流行的HTML格式。它既能与集成开发环境有机结合在一起,使得用户在编程时随机查询需要的内容,又能脱离集成开发环境而独立地运行。并且用户还可以通过网络获取实时的帮助信息和实例。

Visual C++ 6.0通过Visual Studio为用户提供了一些其他的实用工具,如Spy++查看器、ActiveX Control Test Container控件测试容器及Register Control控件注册程序,扩展了Visual C++的功能。

除了Visual C++,其他一些知名公司也推出了自己的C++集成开发环境,如Borland的C++ Builder和IBM的VisualAge C++。迄今为止,Visual C++可以说是一个功能最强大和适用范围最广泛的软件开发工具。当然,由于Windows编程的困难和MFC类库功能的庞大,加上应用程序向导生成的程序框架结构的复杂性,使得学习Visual C++比学习其他开发工具更困难。用Visual C++编写Windows应用程序最具有挑战性,然而当熟练掌握Visual C++后,就会感受到作为Visual C++程序员的无比优越性。

1.1.2 Visual C++的安装

计算机硬件技术发展很快,现在一般的机器配置就能支持Visual C++的运行。以Visual C++ 6.0为例,要求CPU为Pentium以上系列,内存为64MB,所需硬盘空间约为500MB,操作系统为Windows 95/98/2000或Windows NT。

安装Visual C++ 6.0时,首先将光盘放入光驱中,如果计算机启用了自动安装Autorun特性,则几秒后安装程序自动运行,否则需要运行光盘根目录下的Setup.exe程序。安装向导程序启动后将自动完成Visual C++的安装,用户只需要根据对话框的提示输入具体的内容。如输入产品序列号和用户信息,选择安装选项(Custom、Products、Server Applications)、安装路径和需要安装的组件等。

所选的具体安装选项和组件取决于Visual Studio的版本,如果产品是Visual Studio 6.0企业版,则安装向导程序会列出Visual Studio 6.0中所有的组件,其中包括主要的开发环境和工具。除了选择Visual C++ 6.0,建议选择Visual SourceSafe 6.0、ActiveX、Data Access、Enterprise Tools、Graphics、Tools等组件和工具。

安装完毕后,Visual Studio安装程序会提示用户重启计算机。如果要安装MSDN,选择Install MSDN,插入Visual Studio 6.0的MSDN光盘继续进行安装。MSDN是每一个Visual C++程序员必不可少的联机帮助文件,用户最好随系统一起安装它。

1.1.3 集成开发环境窗口

从Windows“开始 — 程序”菜单中选择Microsoft Visual C++ 6.0的菜单项,就启动了Visual C++集成开发环境,出现了集成开发环境的主窗口Developer Studio。Visual C++通过Developer Studio窗口将所有组件集成在开发环境中,用户可以利用Developer Studio编写一个应用程序。下面通过一个例子说明Developer Studio的特点。

(1)启动Visual C++ 6.0,打开File菜单,执行New菜单命令,出现New对话框,如图1-1所示。在Projects页面中选择MFC AppWizard(exe)选项,在Project name编辑框中输入项目名称,例如Mysdi,在Location编辑框中输入保存项目的路径。单击OK按钮,进入MFC AppWizard操作向导的第1步。

图1-1 创建一个应用程序

(2)在MFC AppWizard对话框中设置应用程序的类型,本例要创建一个单文档应用程序,因此要选择Single document项,单击Finish按钮,出现New Project Information对话框,单击OK按钮,将生成应用程序框架文件,并在项目工作区窗口打开生成的应用程序的项目。

如图1-2所示是开发应用程序时一般的Developer Studio窗口示意图。Developer Studio窗口由标题栏、菜单栏、工具栏、工作区窗口、源代码编辑窗口、输出窗口和状态条组成。当利用Developer Studio打开一个项目或建立一个新的项目以及进行具体操作时,其中对应的窗口将给出相应的显示信息。

图1-2 Developer Studio窗口

Developer Studio主窗口分为几个部分。窗口最顶端为标题栏,注明当前项目的名称和当前编辑文档的名称,如“Mysdi-Microsoft Visual C++-[MysdiView.cpp]”。名称的后面有时会显示一个“*”,表示当前文档在修改后还没有保存。

标题栏下面是菜单栏和工具栏,菜单栏中的菜单项包括了Visual C++的全部操作命令,工具栏以位图形式显示常用操作命令。一些不常用的工具栏一般情况下不出现在主窗口中,只有在使用它们时才会自动弹出。Developer Studio中的菜单栏和工具栏均为停靠式的,可以用鼠标拖动它们到屏幕的任何位置,其大小也可以手工调整。

工具栏下面的右边是编辑窗口,用于显示当前编辑的C++程序源文件和资源文件。编辑窗口是含有最大化、最小化、关闭按钮和系统菜单的普通框架窗口。当打开一个源文件或资源文件时,就会自动打开其对应的编辑窗口。在Developer Studio中可以同时打开多个编辑窗口,编辑窗口以平铺式或层叠式显示。

工具栏下面的左边是工作区(Workspace)窗口,其中包括ClassView、ResourceView和FileView三个页面,分别用于列出当前应用程序中所有的类、资源和源文件,其详细使用说明将在1.2.2小节中介绍。

编辑窗口和工作区窗口下面是输出(Output)窗口,当编译、链接程序时,输出窗口会显示编译和链接信息。如果进入程序调试状态,主窗口中还将出现一些调试窗口。

主窗口的最底端是状态栏,显示内容包括当前操作或所选择命令的一般性提示信息、当前光标所在位置信息,以及当前的编辑状态信息等。

集成开发环境中显示两种类型的窗口:浮动窗口和停靠窗口。浮动窗口是带边框的子窗口,它可以显示源代码或图形。浮动窗口能以平铺方式或层叠方式显示在集成开发环境中,图1-2中的编辑窗口就是一个浮动窗口。

除了浮动窗口,集成开发环境中的所有其他窗口都是停靠窗口,包括工具栏和菜单栏。开发环境中有两个主要的停靠窗口,即Workspace工作区窗口和Output输出窗口。另外还有一个Debugger调试器窗口,在调试时自动打开。

停靠窗口可以固定在集成开发环境的顶端、底端或侧面,也可以浮动在屏幕的任何位置。停靠窗口不论是浮动着的还是固定着的,总是出现在浮动窗口的前面。这就保证了当焦点从一个窗口移到另一个窗口时停靠窗口总是可见的。

一个停靠窗口的固定和浮动形式是可以相互转换的。当拖动一个固定窗口任何边缘未使用部分至屏幕中间位置,该固定窗口就转换成了浮动窗口。反之,当拖动一个浮动窗口的标题栏至开发环境主窗口的任何边缘上,该浮动窗口就转换成固定窗口。单击窗口上的关闭按钮将关闭窗口,要想重新打开窗口,可在主菜单中选择相应的菜单项。

1.1.4 MSDN帮助系统

除了有关Visual C++ 6.0集成开发环境具体操作说明的联机帮助文件,Microsoft Visual Studio还提供了MSDN Library组件。MSDN帮助系统是一个HTML格式的帮助文件,它所包含的内容非常丰富,包含了有关Visual Studio的编程原理、方法和应用实例等内容,并且使用MSDN时可以通过访问微软网站www.microsoft.com获取有关MSDN的最新信息。

用户通过选择Help菜单下的Contents命令或Search工具栏按钮就可以进入MSDN帮助系统。也可单击F1键快速获取相关内容的帮助,如在源文件编辑器中用光标把一个需要查询的单词全选上,或单击一条出错提示信息,然后按下F1键出现MSDN的“索引”页面。

MSDN Library是Microsoft Visual Studio的一个组件,它可脱离于Visual C++集成开发环境而独立运行。如图1-3所示即为MSDN运行时的一般界面。

图1-3 MSDN帮助系统

1.2 项目和项目工作区

从前一小节的例子中我们可以看到,编写一个应用程序首先要创建一个项目(project),在创建项目的同时创建了项目工作区。项目工作区记录了一个项目的集成开发环境的设置,如Developer Studio关闭前各窗口最后的状态。

1.2.1 项目

从软件工程的角度来看,每个程序的开发工作都是一个项目工程,涉及计算机及相关专业的知识及其应用。编程时还要使用生成、编辑、编译、链接、调试等一系列工具,并且可执行文件不是仅由一个源程序文件生成,而是由一些相互关联的源文件和资源文件共同生成的。

在Visual C++集成开发环境中,把实现应用程序设计功能的一组相互关联的C++源文件、资源文件以及支撑这些文件的类的集合称为一个项目。Visual C++集成开发环境以项目作为程序开发的基本单位,项目用于管理组成应用程序的所有元素,并生成应用程序。项目用项目文件DSP(developer studio project fi le)来描述,文件名后缀为dsp。项目文件保存了项目中所用到的源代码文件和资源文件的信息,如文件名和路径。同时,项目文件还保存了项目的编译设置等信息,如调试(debug)或发布(release)。

一个项目至少包含一个项目文件。另外,根据项目类型的不同,一个项目还包含不同的源文件、资源文件和其他文件。

1.2.2 项目工作区

Visual C++集成开发环境以项目工作区的方式来组织应用程序的项目,项目工作区用工作区文件DSW(developer studio workspace fi le)来描述,文件名后缀为dsw。工作区文件保存了应用程序集成开发环境的项目设置信息,它将一个DSP项目文件与具体的Developer Studio结合在一起,在Visual C++集成开发环境中一般以开发工作区文件DSW的方式来打开指定的项目。

创建项目后,用户可通过项目工作区Workspace窗口来查看项目中的组成元素。从前面的图1-2可以看到,Workspace窗口一般由ClassView、ResourceView和FileView三个页面组成。如果创建数据库项目(database project), Workspace窗口将出现DataView页面。这些页面将一个项目按照一定的逻辑关系分为几个部分,以树形结构形式显示项目所创建的类、资源和文件。用户可以很方便地使用三个页面标签在不同的视图之间进行切换,通过它们查看项目中所有的类、资源和文件。

1.2.3 项目设置

一般可使用默认的项目设置生成应用程序的执行代码,当然也可以改变当前项目的设置。Visual C++集成开发环境提供了相关的命令来设置项目,如Project菜单的Settings命令、Build菜单中的Confi gurations命令和Tools菜单中的Customize、Options命令等。

执行Project — Settings菜单命令打开Project Settings项目设置对话框,如图1-4所示。在Debug页面可设置程序执行时的命令行参数,在C/C++页面可优化编译器设置和添加预处理器宏,在Link页面可设置链接器选项。

图1-4 设置编译器选项

1.3 编辑器

程序代码由操作码和数据组成,除了一般数据,一个Windows应用程序大量使用被称为资源的数据。Visual C++作为可视化的程序开发工具,提供了功能强大的源代码编辑器和各种类型的资源编辑器。

1.3.1 源代码编辑器

Visual C++的源代码编辑器是一个很出色的文本编辑器,可用于编辑很多类型的文件,如C/C++头文件、C++源文件、文本文件和HTML文件等。当打开或建立上述类型的文件时,该编辑器自动打开。Visual C++源代码编辑器除了具有一般的编辑功能,如复制、查找和替换等,还具有方便编程的特色功能。

1.3.2 资源编辑器

Windows资源用于创建程序的框架界面,包括菜单(menu)、工具栏(toolbar)、对话框(dialog)、图标(icon)、光标(cursor)、位图(bitmap)、快捷键(accelerator)、串表(string table)等,资源编辑器是对上述资源进行编辑的工具。使用资源编辑器可以创建新的资源或编辑已有的资源。当新建或打开一个资源时,系统将自动打开相应的资源编辑器。当新建一个资源时,资源管理器自动给资源分配一个资源标识号ID。

常用的资源编辑器有图像编辑器、工具栏编辑器、快捷键编辑器、串表编辑器、版本信息编辑器等,其他资源编辑器将在后续章节进行介绍。

1. 图像编辑器

图像编辑器由绘图区、绘图工具箱和调色板组成。当图像编辑器打开之后,Developer Studio窗口将出现Image主菜单。同时,还激活了Graphics工具栏和Colors工具栏,这两个工具的操作方法与Windows的画图工具类似。图像编辑器主要用于绘制位图、图标、光标和工具条。在Workspace项目工作区中的ResourceView页面双击这些资源时就会打开对应的图像编辑器,如图1-5所示。

图1-5 图像编辑器

2. 工具栏编辑器

工具栏一般是常用菜单命令的快速执行方式,Windows应用程序用一个形象的位图来作为工具栏按钮的外观。工具栏编辑器实际上也是一个图像编辑器,它主要用于创建新的工具栏按钮,在项目工作区的ResourceView页面打开Toolbar文件夹,双击其中的工具栏资源,出现如图1-6所示的工具栏编辑器,单击最后的空白项可添加一个新的按钮,利用Graphics和Colors工具画出按钮的图形。鼠标按下并拖动某个工具栏按钮,可将该按钮删除。

图1-6 工具栏编辑器

3. 快捷键编辑器

在项目工作区ResourceView页面打开Accelerator文件夹,双击其中的快捷键资源,出现如图1-7所示的快捷键编辑器。双击图1-7中的快捷键列表项,可打开Accel Properties快捷键属性对话框来编辑快捷键。要添加快捷键,先双击编辑器快捷键列表底部的空白行,在随后出现的快捷键属性对话框中,选择需要添加快捷键的菜单项标识ID,然后设置快捷键和组合键。

图1-7 快捷键编辑器

4. 串表编辑器

运行一个Windows应用程序后,当鼠标指向菜单项和工具栏按钮时,在底部状态栏将显示所指项的有关提示消息,串表就是这样一种资源字符串。利用字符串编辑器可进行串表的编辑、添加和删除等操作。在项目工作区ResourceView页面打开String Table文件夹,双击串表资源,出现如图1-8所示的串表编辑器。串表编辑器的使用方法与快捷键编辑器的使用方法类似。

图1-8 串表编辑器

5. 版本信息编辑器

在Windows中,版本信息(versioninfo)也是作为资源处理。版本信息主要包括版本号、产品的操作系统、语言和公司名称等内容,版本信息编辑器用于上述信息的编辑。每个应用程序有一个版本信息资源,其标识ID为VS_VERSION_INFO。双击版本信息资源中某一项可以编辑相应的版本信息,如图1-9所示。

图1-9 版本信息编辑器

1.4 菜单栏和工具栏

菜单栏和工具栏是Visual C++集成开发环境的重要组成部分,工具栏一般与菜单项有对应关系。Visual C++集成开发环境包括100多个不同的菜单项和几乎同样数目的工具栏按钮,而且它们中的大多数还会引导出复杂的对话框和具有大量选项的属性页。因此,本节只对主要的菜单栏和工具栏进行简要介绍,更加复杂的菜单栏和工具栏的应用将在后面章节进行详细讨论。

1.4.1 菜单栏

Visual C++集成开发环境中的菜单栏由File、Edit、View、Insert、Project、Build(Debug)、Tools、Window和Help等9个主菜单组成,每个主菜单又由多个菜单项和子菜单项组成。子菜单项提供的功能几乎可以完成所有的Developer Studio功能。除了主菜单,在Visual C++集成开发环境中的窗口的不同地方右击还可以弹出相应的快捷菜单。可参考图1-2 Developer Studio窗口中的菜单栏选项。

1.4.1.1 File菜单

File菜单主要包括一些与文件有关的操作命令,如新建、打开、关闭、保存和显示最近的项目、文件、工作区等,各命令的功能分述如下。

1. New命令(Ctrl+N)

New命令用于创建新的文件、工程、工作区或其他文档。当选择此命令后,屏幕会出现图1-1所示的New对话框。其中包含了4个选项卡:Files、Projects、Workspaces和Other Documents。在File选项卡中,可以选择创建各种文件,当选择Add to project复选框时,则新创建的文件将加入到当前工程中。

注意:

在File文本框中输入文件名之前,OK按钮将显示为灰色,即处于禁用状态。在Files选项卡中可以创建的文件类型见表1-1。

表1-1 在FiIes选项卡中可创建的文件类型

使用New命令还可以创建工程、工作区和其他文档,其用法将通过以后的例子逐渐介绍。

2. Open命令(Ctrl+O)

Open命令的功能是打开已有的文件。可以打开的文件类型有C++文件、Web文件、资源文件、文本文件、项目文件和工作区文件等。

3. Close命令(Ctrl+C)

Close命令的功能是关闭在代码编辑窗口中当前显示的文件。

4. Open Workspace命令

Open Workspace命令的功能是打开工作区文件。

5. Save Workspace命令

Save Workspace命令的功能是保存当前打开的工作区。

6. Close Workspace命令

Close Workspace命令的功能是关闭当前打开的工作区。

7. Save命令(Ctrl+S)

Save命令的功能是保存代码编辑窗口中当前显示的文件。如果代码编辑窗口中没有显示任何文件,则此命令为禁用状态。

8. Save As命令

选择File — Save As命令时,将会弹出“保存为”对话框,在文件名栏中输入新文件名,单击“保存”按钮,代码编辑窗口中的文件将被保存为另一个文件。当代码编辑窗口中没有显示任何文件时,此命令将为禁用状态。

9. Save All命令

Save All命令的功能是保存所有窗口中的文件信息。如果某一窗口中的文件从来没有保存过,则系统会提示为此文件输入一个有效的文件名。

10. Page Setup命令

当选择此命令时,将弹出Page Setup对话框,通过此对话框可以对页面的格式进行各种设置,如设置页面的页眉(Header)、页脚(Footer)、左页边距(Left)、右页边距(Right)、上页边距(Top)、下页边距(Bottom)。

11. Print命令

Print命令的功能是打印当前代码编辑窗口中的文件或选定的内容。当选择此命令时,将弹出Print对话框,如果代码编辑窗口中没有被选中的块,Selection选项为禁用状态,打印范围(Print range)默认为All。Setup按钮用于设置打印机的属性,与标准的Windows程序中设置打印机属性方法相同。

12. Recent Files命令

Recent Files命令用于打开级联菜单,在下级的菜单中显示最近打开的文件,直接单击文件名称,则系统直接加载该文件。在默认情况下,级联菜单最多可以显示4个文件,显示文件的个数可以通过Tools菜单下的Options命令进行设置。

13. Recent Workspaces命令

Recent Workspaces命令用于打开级联菜单,在下级的菜单中显示最近打开的工作区,直接单击工作区名称,则系统直接加载该工作区。在默认情况下,级联菜单最多可以显示4个工作区名称,显示工作区的个数可以通过Tools菜单下的Options命令进行设置。

14. Exit命令

Exit命令的功能是退出编程环境。当选择此命令时,如果某个文件进行了改动但没有保存,则系统会提示是否保存该文件。

1.4.1.2 Edit菜单

Edit菜单主要包括一些与文件编辑有关的操作命令,如复制、粘贴、剪切、查找、替换、设置、删除和查看断点等,各个命令的功能分述如下:

1. Find命令

Find命令用于查找指定字符串。选择Edit — Find命令,弹出Find对话框(如图1-10所示)。

图1-10 Find对话框

2. Find in Files命令

Find in Files命令用于在多个文件中查找指定的字符串。选择Edit — Find in Files命令,将弹出Find In Files对话框,如图1-11所示。

图1-11 Find In Files对话框

3. Replace命令

Replace命令用于在文件中将指定字符串替换为另一字符串。选择Edit — Replace命令,将弹出Replace对话框。Replace对话框基本类似于Find对话框,只是增加了Replace with文本框,用于输入进行替换的字符串。

4. Go To命令

Go To命令用于将光标移到当前活动窗口的指定位置,包括地址、书签、行号、对象的定义位置和引用位置等。选择Edit — Go To命令,将弹出Go To对话框,如图1-12所示。左边的值列表选择以何种方式移动光标,中间的文本框用于选定或输入相应的值。

图1-12 Go To对话框

5. Bookmarks命令

Bookmarks命令用于在文件中定义书签。选择Edit — Bookmarks命令,其对话框中的Name文本框用于输入书签名。

6. Advanced命令

在Advanced命令中包括了下面的一些子命令。

Incremental Search:增值查询,选中后,对任意位置出现的变量和对象均提供较详细的说明。

Format Selection:格式化选定区域的内容。

Tabify Selection:用Tab符号替换选定区域内的空格。

Untabify Selection:用空格替换选定区域内的Tab符号。

Make Selection Uppercase:使选定区域内的所有字符大写。

Make Selection Lowercase:使选定区域内的所有字符小写。

View Whitespace:显示或隐藏活动窗口内的空格和Tab符号。

7. Breakpoints命令(Alt+F9)

Breakpoints命令用于设置、查看或取消断点。当选择此命令时,将弹出Breakpoints对话框,如图1-13所示。

图1-13 Breakpoints对话框

断点用于告诉调试器应该在何时何地中断程序的执行过程,以便检查程序代码、变量和寄存器值,在必要时可以修改、继续执行或中断执行。在对话框中有3个选项卡:Location、Data和Messages,它们分别用于设置位置断点、数据断点和消息断点,对断点的类型作如下说明。

(1)位置断点。通常在源代码的指定行、函数的开始或指定的内存地址处设置,程序执行到指定位置时,位置断点将中断程序的执行。

(2)数据断点。在某变量或表达式上设置,当变量或表达式的值改变时,数据断点将中断程序的执行。

(3)消息断点。在窗口函数WndProc上设置,当接收到指定的消息时,消息断点将中断程序的执行。

(4)条件断点。是一种位置断点,仅当指定的条件为真时才判断程序的执行。要设置条件断点,必须先设置位置断点,然后再设置中断程序执行的条件。

8. List Members命令(Ctrl+Alt+T)

当输入程序源代码时,如果在变量名后面键入->,则系统会自动显示所有有效的成员名称。键入待输入的成员的前几个字母即可从列表中选中该成员,按Tab键即可完成输入。

9. Type Info命令(Ctrl+T)

它的作用是当在代码编辑窗口中将鼠标指向某一个标识符时,则系统将显示所指变量、函数或方法等的语法规定。

10. Parameter Info命令(Shift+Ctrl+Space)

当输入代码时,若在输入函数名之后键入左括号,则系统会显示此函数的完整原型,并用黑体字显示第一个参数,输入第一个参数后,第二个参数将变为黑体字。

11. Complete Word命令(Ctrl+Space)

此命令的作用是自动完成当前语句其余部分的输入。

1.4.1.3 View菜单

View菜单中的菜单命令项主要用于改变窗口的显示方式和激活指定的窗口,如激活ClassWizard类向导、Workspace工作区窗口、Output输出窗口和Debug Windows调试窗口。

1. ClassWizard命令(Ctrl+W)

ClassWizard命令是Visual C++中最常用的工具,它的功能是创建新的类、处理映射消息,创建和删除消息、处理函数、资源命令函数和添加类的成员变量。关于ClassWizard的具体使用方法将在第二章详细介绍。

2. Resource Symbols命令

此命令的功能是打开资源符号浏览器,对资源符号进行浏览和编辑。当选择此项时,将弹出Resource Symbols对话框,如图1-14所示。

图1-14 Resource Symbols对话框

3. Resource Includes命令

此命令的功能是修改资源符号文件名和预处理器指令。当选择此命令时,将弹出Resource Includes对话框,如图1-15所示。在Symbol header file文本框中显示工程的资源头文件;在Read-only symbol directives列表框中显示的是资源头文件的内容。

图1-15 Resource Includes对话框

4. Full Screen命令

此命令的功能是以全屏方式显示当前的活动窗口,所有的菜单、工具条和其他窗口全部被隐藏。全屏显示后,单击Toggle Full Screen按钮或直接按Esc键可以切换回原来的显示方式。

5. Workspace命令(Alt+0)

此命令的功能是显示工程工作区窗口。当工程工作区显示并且是当前活动窗口时,按Shift+Esc键则可以将工作区窗口隐藏。

6. Output命令(Alt+2)

此命令的功能是显示输出窗口,它可以显示程序建立过程中的有关信息或错误信息,并显示调试运行时的输出结果。

7. Debug Windows命令

当选中此命令时,将弹出子菜单,其中的命令用于显示调试信息窗口,在调试时才可用。各个子命令的功能如表1-2所示。

表1-2 Debug Windows子菜单说明

1.4.1.4 Insert菜单

Insert菜单主要包括一些诸如插入新建的类、窗体资源或者复制资源,以及新建ATL对象等操作的命令。

1. New Class命令

此命令用于打开New Class对话框,以便创建新的类,并将其加入到当前工程中。

2. New Form命令

此命令用于创建新的窗体,并将其加入到当前工程中。选中此命令时,弹出New Form对话框,如图1-16所示。

图1-16 New Form对话框

3. Resource命令(Ctrl+R)

此命令的功能是创建新的资源或将资源插入到资源文件中,如图1-17所示。

图1-17 Insert Resource对话框

4. Resource Copy命令

此命令的功能是复制已存在的资源,选中此命令将弹出Insert Resource Copy对话框,如图1-18所示。

图1-18 Insert Resource Copy对话框

5. New ATL Object命令

此命令的功能是启动ATL Object Wizard,以便添加新的ATL对象到当前工程中。

1.4.1.5 Project菜单

Project主菜单主要包括一些与项目管理有关的操作命令,如向项目添加文件、设置当前项目、改变编译器和链接器选项等。各命令的功能说明如下。

1. Set Active Project命令

如果当前工程工作区中同时打开多个工程,则通过此命令的下级菜单可以指定当前活动的工程。

2. Add To Project命令

此命令的功能是添加文件、文件夹或数据源到工程中。

3. Dependecies菜单项

此命令的功能是允许一个工程属于其他工程,工程必须重新编译和链接。

4. Settings命令(Alt+F7)

此命令的功能是对工程进行设置,当选中此命令时,将弹出Project Settings对话框,此功能前面已经介绍过。

1.4.1.6 Build菜单

Build主菜单主要包括一些与建立可执行程序有关的操作命令,如编译、链接和调试程序等,各命令的功能说明如下。

1. Compile命令(Ctrl+F7)

此命令的功能是编译代码编辑窗口中当前具有输入焦点的源文件,以便检查源文件中是否有语法错误。如果检查出存在语法错误,则在输出窗口中显示错误信息。可以向前或向后浏览输出窗口中的错误信息。

2. Build命令(F7)

此命令的功能是对当前工程中所有最近修改过的文件进行编译和链接,生成可执行文件。

3. Rebuild All命令

此命令的功能是对当前工程中所有的文件进行编译和链接,生成可执行文件,它与Build命令的区别是后者只编译和链接最近修改过的文件。

4. Batch Build命令

单击此命令会出现如图1-19所示的对话框。默认情况下,工程会有Release和Debug两个版本,如果选择Release版本,单击Build按钮生成的是工程的Release版本,反过来选择Debug版本也是一样。

图1-19 Batch Build对话框

5. Clean命令

Clean选项用来清除工程Release或Debug版本中的所有中间文件和输出文件,工程所在目录只有源文件。

6. Start Debug命令

当选择此命令时,将会弹出子菜单,子菜单中含有用于启动调试器运行的命令。

7. Debugger Remote Connection命令

对远程调试连接设置进行编辑。

8. Execute命令(Ctrl+F5)

此命令的功能是运行应用程序。

9. Set Active Confi guration命令

此命令的功能是选择活动工程的配置。

10. Confi gurations命令

此命令的功能是添加或删除工程的配置。

11. Profi le命令

此命令的功能是启动剖视器(Profi le)来检查程序的运行能力。

1.4.1.7 Debug菜单

当启动调试器后,Debug菜单将取代Build菜单出现在主菜单栏中。它的主要命令均与在调试过程中经常用到的命令相关,对于各命令功能的说明见表1-3。

表1-3 Debug命令功能说明

1.4.1.8 Tools菜单

Tools主菜单中的菜单命令项主要用于启动Visual Studio实用工具、定制Visual C++集成开发环境界面。

1. Source Browser命令(Alt+F12)

此命令的功能是浏览工程的各种对象的各方面内容,如图1-20所示。在Identifi er文本框中,输入要查看的对象名称,如变量名、函数名等,在Select query列表中列出了浏览的方式,说明如下:

图1-20 Browse对话框

(1)Defi nitions and References查看对象的定义或索引。

(2)File Outline查看对象的说明和定义所在的文件及位置。

(3)Base Classes and Members查看某个类的基类及其成员函数。

(4)Call Graph查看某个函数中所有调用的函数。

(5)Callers Graph查看某个函数在工程中被调用的情况。

2. Close Source Browser File命令

此命令用于关闭打开的浏览信息数据库。

3. Visual Component Manager命令

当选中此命令时,将激活可视化部件管理器。它是存储、组织及共享可重用部件的工具。

4. Register Control命令

将OLE控件注册到操作系统中。

5. Error Lookup命令

检查大多数Win32 API函数返回的标准错误代码信息。

6. ActiveX Control Test Container命令

为测试ActiveX控件提供一个简单的环境。

7. OLE/COM Object Viewer命令

提供了安装在系统中所有的OLE及ActiveX的信息。

8. Spy++命令

激活Spy++,用于给出系统的进程、线程、窗口和窗口消息的图形表示。

9. MFC Tracer命令

执行或调试程序时,用于激活各种级别的调试消息,并且MFC将调试消息发送到输出窗口。

10. Customize命令

此命令的功能是设置开发环境的界面,如菜单、工具条等。

11. Options命令

此命令主要用于对Visual C++的环境进行设置,当选择此命令时,将弹出Options对话框,在此对话框中可以进行调试器设置、窗口设置、目录设置、工作区设置和格式设置等各项工作。

12. Macro菜单项

创建和编辑宏文件。

13. Record Quick Macro命令

开始进行宏的录制。

14. Play Quick Macro命令

执行录制的宏。

1.4.1.9 Window菜单

Window主菜单主要包括一些与窗口显示有关的操作命令,对各个命令的功能说明见表1-4。

表1-4 Window菜单各个命令的功能说明

1.4.1.10 Help菜单

Help主菜单主要包括了有关Visual C++帮助的操作命令。

1.4.2 工具栏

Visual C++集成开发环境的工具栏以停靠窗口的形式出现,工具栏的位置可以移动,也可以根据需要对工具栏进行显示或隐藏的切换。执行Tools菜单的Customize菜单命令,打开Customize对话框,然后选择Toolbars选项卡,如图1-21所示。

图1-21 在Customize对话框中设置工具栏

要恢复工具栏或菜单栏到系统原来的默认状态,在Customize对话框中单击Reset All或Reset All Menus按钮即可。Visual C++集成开发环境的工具栏有很多个,如Standard、Build MiniBar、Resource、Debug和Edit等。下面主要介绍Standard、Build MiniBar和WizardBar工具栏,其他工具栏的使用在本书后面章节再作介绍,Standard工具栏如图1-22所示。

图1-22 Standard工具栏

表1-5给出了Standard工具栏各个按钮的功能描述。

表1-5 Standard工具栏按钮功能描述

2. Build MiniBar工具栏

Build MiniBar工具栏中主要包括了项目的选择、编译、链接和调试等操作命令,每个按钮的功能主要与Build和Debug主菜单中某个菜单项对应。如图1-23所示给出了Build MiniBar工具栏的一般形式。

图1--23 Builild MiiniiBarr工具栏

表1-6给出了Build MiniBar工具栏各个按钮的功能描述。

表1-6 BuiId MiniBar工具栏按钮的功能描述

3. WizardBar工具栏

在默认设置情况下,Visual C++集成开发环境中将显示WizardBar工具栏,它一般位于Standard工具栏下面。WizardBar是对Visual C++中特色功能的快捷操作,它提供了对某个类的某个成员的快速访问,能显示、跟踪和操作当前成员。如图1-24所示给出了WizardBar工具栏的一般形式。

图1-24 WizardBar工具栏

WizardBar具有上下文跟踪功能,它能动态跟踪源代码的当前位置,并显示当前项目中的相关信息。当用户在源代码编辑窗口中进行编辑时,WizardBar将显示当前光标处的类或成员函数。当光标指向函数定义以外的区域时,WizardBar的Members列表框变灰。当用户编辑对话框时,WizardBar将跟踪光标所选择的对话框或对话框控件。

1.5 本章小结

本章开始主要介绍了Visual C++的特点和安装,尤其着力介绍了集成开发环境窗口;接着介绍了读者容易忽视的项目工作区和资源编辑器等,最后详细讲述了菜单栏和工具栏的功能和使用方法。