作者:申远
出版社:机械工业出版社
格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT
零基础学Visual C++(第4版,丛书畅销30万册,全新版隆重上市)试读:
前言
随着计算机软件的高速发展,各行各业也以信息化作为企业扩张的开路先锋。而相对于企业信息化的高速发展,研发型人才数量和质量的相对滞后导致软件设计企业人才供应紧张。C++在大中型软件应用研发中具有得天独厚的优势,而Visual C++是在Windows应用环境中最主流的集成开发环境。
Visual C++是开发Win32应用程序的最重要的可视化编程工具之一,它为软件开发人员提供了完整的编辑、编译和调试工具以及建立于Win32 API基础上的MFC类库,从而有效缩短了Windows应用程序的开发周期。Windows操作系统本身大部分是使用C/C++语言写成的,而Visual C++正是使用C/C++语言的Win32应用程序集成开发环境,因此,使用Visual C++来开发Windows应用程序便有着得天独厚的优势。学习和掌握Visual C++,也自然地成为广大程序设计和开发人员的迫切需要。
现在越来越多的人正在加入Visual C++程序员的行列。由于前一段时间.NET的盛行,Visual C++.NET、Visual C++2010、Visual C++2012的相继推出,使得Visual C++的经典版本Visual C++6.0有些受到冷落。但经过一段时间的摸索,C++程序员又一致认为Visual C++6.0仍然是开发C++Windows应用程序最理想的工具。本书特色
虽然本书是Visual C++6.0的基础教程,但内容丰富,几乎涵盖了Visual C++程序开发的各个方面,而且具有一定的深度。本书完全从一个Visual C++初学者的角度出发,通过大量实例讲解相关开发知识点,对每个实例均按照开发顺序给出了完整的开发过程,易学易用。本书的主要特色如下。
1.注重基础
本书的宗旨就是为Visual C++初学者打开通往Visual C++工程开发的大门,因此本书着重介绍使用MFC的基本类库开发应用程序,对于类库的二次开发不做讨论。
2.注重实例
本书通过实例来讲述Visual C++开发的主要知识点,同时给出每个实例的详细实现过程,而且均是按照开发顺序给出,便于读者学习、实践。
3.循序渐进
在编写本书的过程中,无论全书还是每章、每个知识点都尽量按照“由浅入深”的顺序编写,便于读者学习。
4.知识速查
对Visual C++编程的基本知识点都做了说明,以备读者速查,同时也便于初学者学习。
5.内容全面
本书涵盖了Visual C++基础开发的各个方面内容,同时对常用的高级应用程序也做了一定的介绍。本书涵盖的内容让读者可以全面、深入、透彻地理解Visual C++开发的各种应用。本书内容
全书共分为16章,涵盖了四篇内容,分别如下。
第一篇“Visual C++和C++基础篇”,包括第1~3章,介绍了使用Visual C++进行Windows程序开发的必备基础知识。
第二篇“Visual C++常用类、控件、资源篇”,包括第4~8章,介绍了Visual C++开发Windows应用程序经常用到的类、控件、资源等的使用方法。
第三篇“Visual C++基本应用程序开发篇”,包括第9~11章,介绍了Visual C++基本应用程序,包括对话框、文档/视图结构以及DLL程序的开发。
第四篇“Visual C++程序开发提高篇”,包括第12~16章,介绍了Visual C++一些常用的高级开发技术,包括多线程、网络开发和数据库等,最后一章还提供一些常见面试题和面试技巧。读者对象
本书作为Visual C++6.0的基础教程,适合以下读者。
·Visual C++初学者。
·大中专院校刚学习完C++语言的低年级学生。
·各种C++培训机构的学员。
·具备一定C语言基础的Visual C++爱好者。本书作者
本书第1~10章由平顶山学院的申远编写,第11~16章由古万荣编写,其他参与编著和资料整理的人员有冯华君、刘博、刘燕、叶青、张军、张立娟、张艺、彭涛、徐磊、戎伟、朱毅、李佳、李玉涵、杨利润、杨春娇、武鹏、潘中强、王丹、王宁、王西莉、石淑珍、程彩红、邵毅、郑丹丹、郑海平和顾旭光。/ 第一篇 /Visual C++和C++基础篇第1章Visual C++6.0开发环境和应用程序框架
在某计算机系统下编程语言,必定经过编译或解析为机器语言,才能被计算机理解并执行。高级编程语言按照翻译方式可以分为编译型和解释型两类。C++是一种编译型的高级编程语言,其过程严格按照6个步骤进行,依次为语法分析、词法分析、语义分析、中间代码生成、优化代码和目标代码生成。Visual C++6.0是当今主流的C/C++集成开发环境,除集编辑、编译和运行于一体外,还提供了丰富的控件、菜单和类定义自动处理功能。本章涉及的知识点如下。
·Visual C++6.0的安装过程和软件项目创建过程。
·Visual C++6.0简介。通过学习,读者可以熟悉Visual C++6.0的界面、各菜单项的功能,可以理解高级编程语言的编译原理过程,并学会使用帮助来解决在开发软件过程中遇到的特殊问题。
·MFC、Win32的创建。通过学习,读者可以学会MFC、Win32程序的创建、编译和执行,并可以学会使用Visual C++6.0调试器在程序运行时对变量或函数的调用顺序进行跟踪,提高程序排错效率。
·Microsoft应用程序框架。通过学习,读者可以掌握MFC应用程序框架结构和消息传递的相关知识,为学习本书第二篇和第三篇打下基础。
·实践练习。通过学习,读者可以学会创建自己的程序,并进行简单修改。1.1 安装并测试Visual C++6.0
本节首先介绍Visual C++6.0的安装过程,然后简要介绍Visual C++6.0开发环境的相关技术背景,最后使用Visual C++6.0应用程序向导创建一个项目,以测试Visual C++6.0是否安装成功。
1.1.1 Visual C++6.0的安装
Visual C++6.0(简称VC 6.0)是美国Microsoft公司研发的基于Windows操作系统的C++集成开发环境。较早期程序设计的各个阶段都要用不同的软件来进行处理,如先用字处理软件编辑源程序,然后用链接程序进行函数、模块连接,再用编译程序进行编译,开发者必须在几种软件间来回切换操作。在这种开发条件下,软件研发是非常烦琐的,而且大多数浪费时间的烦琐手续对软件研发没有任何帮助。集成开发环境将这些烦琐工作流程集中在一个软件环境,通过这个软件环境来完成所有软件研发步骤,无须切换不同的开发工具。
高级语言编程的学习主要分为语言理论和开发工具两个方面。Visual C++6.0作为一个集成开发环境,是初学者学习的重点。本书所使用的全部实例是在Windows XP操作系统和Visual C++6.0开发环境下通过编译的,读者未必都要使用Windows XP操作系统,但安装一个Visual C++6.0是必要的。安装步骤如下。(1)打开光盘或安装文件根目录,双击SETUP执行文件,如图1-1所示。该图显示的是存放Visual C++6.0安装文件的目录。(2)双击SETUP执行文件后,会出现如图1-2所示的安装向导,图1-2所示界面显示的是Visual C++6.0安装欢迎信息。单击“View Readme”按钮可以阅读Visual C++6.0相关的自序文件,单击“Next”按钮即可进入下一步。图1-1 Visual C++6.0安装程序图1-2 Visual C++6.0安装向导——欢迎界面(3)在条款阅读向导页面中选中“I accept the agreement”单选按钮,再单击“Next”按钮,表示用户同意Microsoft公司的安装条款,如图1-3所示。(4)填写产品密钥安装向导页面如图1-4所示。该页面要求用户填写产品ID、姓名和工作单位等相关信息,填写完成后单击“Next”按钮进入下一步。图1-3 Visual C++6.0安装向导——条款阅读图1-4 Visual C++6.0安装向导——产品ID和使用者信息(5)JAVA虚拟机安装,该选项可以选择也可以不选择。是否安装JAVA虚拟机对在Visual C++6.0环境下编写C++程序没有影响。如果选择安装,安装完该项后,计算机会自动重启,如图1-5所示。(6)安装模式的选择,这里可以默认选中“Custom”单选按钮,然后单击“Next”按钮进入下一步,如图1-6所示。图1-5 Visual C++6.0安装向导——JAVA虚拟机选项图1-6 Visual C++6.0安装向导——安装模式(7)安装路径的选择,在此,用户可以采用默认路径安装,也可以单击“Browse”按钮自定义选择安装时生成文件的存放路径,如图1-7所示。(8)由于第(6)步中选择了Custom安装模式,因此在这里需要自定义安装选项。针对C++编程学习,确保Microsoft Visual C++6.0复选框选中即可,然后单击“Continue”按钮进入下一步,如图1-8所示,该图是选择安装Visual C++6.0的子功能和子系统的界面。图1-7 Visual C++6.0安装向导——安装路径图1-8 Visual C++6.0安装向导——功能选项(9)单击“Continue”按钮后,将出现如图1-9所示的安装进度界面,该页面展示安装的进度。(10)Visual C++6.0安装完毕后,计算机会自动跳出MSDN安装向导,互联网下载的安装文件可能不含MSDN安装包。如果没有MSDN安装包,用户可自行下载,然后运行该安装包的SETUP执行文件,安装过程与有MSDN安装包的Visual C++6.0自动安装是一样的,如图1-10所示。图1-9 Visual C++6.0安装向导——安装过程图1-10 安装MSDN向导(11)为了使本机帮助功能最大化,一般使用“完全安装”类型,如图1-11所示。
注意 由于安装包可以另外下载,因此为了方便学习和工作,可以下载中文版MSDN进行安装。图1-11使用的安装包是中文版的。(12)单击“完全安装”按钮后,将出现MSDN安装进度界面,如图1-12所示。图1-11 MSDN安装选择图1-12 MSDN安装进度界面
注意 安装MSDN是必要的,在软件研发过程中,如果想调用某函数,而又不清楚该函数的具体功能等情况,可以在脱机状态下查询该函数的具体情况。MSDN实质是一个本机帮助文件。
执行完这12个步骤后,Visual C++6.0(含MSDN)集成开发环境已经完全安装完毕。
1.1.2 Visual C++6.0开发环境
选择“开始”|“所有程序”|“Microsoft Visual Studio 6.0”|“Microsoft Visual C++6.0”命令,或者找到安装Visual C++6.0的子目录并双击MSDEV.EXE可执行文件,即可启动Visual C++6.0开发环境。为了使用方便,建议用户在桌面创建一个快捷方式。
启动Visual C++6.0后,可以看到如图1-13所示的界面。该界面是Visual C++6.0的主界面,编程过程将在这里进行。图1-13 Visual C++6.0主界面
1.1.3 Visual C++6.0应用程序向导和项目创建
本节将学习如何使用Visual C++6.0的应用程序向导创建一个软件项目,但该软件不做任何事。
在软件开发过程中,人们很早就认识到应用程序的创建具有相似性和重复性,于是开发了一种功能,即自动化创建一类程序,大大提高了软件开发的效率,降低了软件编程的入门门槛。这种功能依托的就是应用程序向导。【实例1-1】以下是使用Visual C++6.0应用程序向导创建项目的过程。(1)选择“File”|“New”命令,或者直接按快捷键Ctrl+N,如图1-14所示。(2)出现“New”对话框,选择“MFC AppWizard[exe]”选项,在右上角“Project name”文本框中填写项目名称“test”,然后单击“OK”按钮完成应用程序向导项目类型选择,如图1-15所示。图1-14 创建新项目图1-15 项目类型选择(3)进入“MFC AppWizard”对话框,选中“Single document”单选按钮,这意味着生成的MFC程序是一个单文档应用程序。其他选项都使用默认值,单击“Next”按钮,也可以直接单击“Finish”按钮结束MFC应用程序向导设置,并生成MFC单文档应用程序框架程序,如图1-16所示。(4)单击“Finish”按钮后,弹出“New Project Information”对话框,如图1-17所示,展示的是新建的应用程序的基本信息,用户从中可知本节创建的MFC程序的一些相关信息,简要说明如下。
·应用程序类型:支持Win32接口的单文档MFC程序。
·创建了4个类:应用程序类CTestApp类在“test.h”和“test.cpp”文件中;框架类CMainFrame类在“MainFrm.h”和“MainFrm.cpp”文件中;文档类CTestDoc类在“testDoc.h”和“testDoc.cpp”文件中;视图类CTestView类在“testView.h”和“testView.cpp”文件中。
·其他信息:主框架窗口中有工具栏和状态栏;视图类支持打印和打印预览;支持3D控件;该应用程序使用的是共享动态链接库(Dynamic Link Library,DLL);ActiveX控件可用;软件界面语言是简体中文。图1-16 MFC程序类型设置图1-17 新项目信息
注意 如果使用共享动态链接库编译生成的程序,在没有安装Microsoft Visual Studio 6.0的计算机中,就会出现缺少MFC42.DLL的运行错误。
为防止这种错误,可以将应用程序设置为使用MFC(Microsoft Foundation Classes)静态库的模式,选择“Project”|“Setting”命令,或按快捷键Alt+F7,出现如图1-18所示的对话框,在“Microsoft Foundation Classes”下拉列表中选择“Use MFC in a Static Library”选项。设置完成后单击“OK”按钮,重新编译执行该项目即可。(5)按快捷键F5即可编译并运行该项目,运行界面如图1-19所示。图1-18 修改MFC的DLL使用类型图1-19 测试项目运行界面
从该运行界面可以检验步骤(4)中所说的部分新建项目信息,具有工具栏、状态栏和采用简体中文界面。1.2 Visual C++6.0简介
本节主要介绍Visual C++6.0集成开发环境的各个子功能,同时也将详细介绍Visual C++6.0主界面菜单项的基本功能,最后介绍MSDN帮助功能的使用方法。
1.2.1 C/C++编译器
C和C++都是高级编程语言,C语言主要用于面向过程的程序设计,而C++是C的超集,即C是C++的子集。C++包含了原有的C语法规则,同时增加了面向对象和泛型编程的思想,支持类的定义、对象的创建和通用算法的使用。
注意 面向对象是一种思想,而不是某种编程语言的特权,C语言通过抽象数据类型的定义也可以进行面向对象设计。但就使用方便性而言,选择C++的类定义功能会比C语言抽象数据类型定义更为直观方便。培养面向对象的思想要经过长期的磨炼和实践。
高级编程语言要被计算机理解并执行,都要经过一个“翻译过程”,就如一个不懂英文的中国人要知道英语的意思,他需要一个翻译,将英语翻译成为汉语。在编程语言中,这种“翻译过程”有两种,即编译型和解释型。编译型语言是将该语言一次性编译成另外一种语言或机器语言,如C/C++;解释型语言是在运行时逐行或逐段解释成其他语言或机器语言,如HTML。
Visual C++6.0集成了C/C++的编译器,编译过程经过以下6个阶段。
①词法分析阶段:将关键字、变量和函数名等区分开,并存入词法表。
②语法分析阶段:将关键字、变量和函数名等组合起来的句子辨认出来,生成语法树。
③语义分析阶段:分析程序段和复杂循环结构。
④中间代码生成阶段:将源代码生成中间代码,等待进一步处理。
⑤代码优化阶段:将代码从时间效率和内存效率方面进行优化,尽量降低时间复杂度和内存消耗。
⑥目标代码生成阶段:生成其他语言或可执行文件。
注意 设计一个完美的编译程序并定义一套语言体系是一项复杂的系统工程。而一门高级程序设计语言的使用,则可使其变得相对简单得多。初学者理解编译过程理论,有助于为调试技术学习和进一步理论学习打下基础。
1.2.2 代码编辑器
打开1.1节创建的“test”项目,进入“test”项目的工作区和代码编辑区。切换到“FileView”选项卡,然后展开“test files”节点下面的“Source Files”文件夹,双击打开“testView.cpp”源文件,如图1-20所示。
该编辑器与普通的文本编辑器主要有以下两个不同点。
·彩色语法标记:将注释标记为绿色,将关键字标记为蓝色,使用Visual C++6.0创建的虚拟函数定义、消息函数定义和消息映射表项标记为灰色,其他源代码标记为黑色。
·智能提示功能:在用户输入一个对象指针时,如输入“MyObject->”,则在“->”输入完成后会出现一个下拉列表,列举出该对象的所有数据成员和成员函数,并且能够随着用户的输入自动定位。智能提示功能提高了用户输入速度,还可以防止用户因遗忘而浪费查找时间。图1-20 编辑器窗口
1.2.3 资源编辑器和资源符号
打开1.1节创建的“test”项目,切换到“ResourceView”选项卡,在该选项卡中可以编辑菜单或对话框等资源;然后展开“test resources”节点下面的“Menu”文件夹,双击打开“IDR_MAINFRAME”资源项,如图1-21所示。这里可以看到该项目主窗口的菜单编辑界面,在这个界面中,用户可以自由地增加或删除菜单项。
在Visual C++6.0中,源代码和资源是分别编译的,源代码编译成中间代码时,资源则编译成二进制文件,在互不相同的编译途径中,连接程序通过一个“资源的标记”将源代码和资源文件联系起来,这个“资源的标记”就是资源符号。
如图1-22所示,在“ResourceView”选项卡中展开“String Table”文件夹,双击打开“String Table”资源项可以查看“test”项目所使用的全部资源符号。图1-21 资源编辑器窗口图1-22 资源符号
1.2.4 连接器和调试器
Visual C++6.0集成开发环境提供了编辑、连接、编译和运行的一体化。原本连接器要做的工作就是将C/C++编译器产生的OBJ文件和资源编译器生成的RES文件连接起来,而现在这个步骤在Visual C++6.0中对程序员来说是透明的。
程序从开发到使用中可能会发生两种错误,即语法错误和逻辑错误。
·语法错误是在编译时就会发现的,而在程序出现语法错误时,编译程序不再向下进行,因此也不会产生执行文件。这种错误可以通过编译器提示和语法使用手册进行排除,直至通过编译为止。
·逻辑错误是指通过了编译,并且生成了执行程序,在用户使用该软件中出现的逻辑上或业务上的矛盾或错误。同时,逻辑错误还包括运行时对数组等越界访问的语义错误。如a[5]数组,用户指定一个i的值为8,并执行了a[i]访问,则此时的行为是未定义的。而在此之前,该程序确实是编译通过的,并生成了执行文件。
注意 行为未定义是指执行某操作后,程序不确定会发生什么事,可能正常返回一个看似正常的数值,可能会导致程序中断,也可能会导致其他意想不到的结果。
调试器主要是为了查找逻辑错误而设置的,Visual C++6.0的调试器主要功能如下。
·可以很容易地设置断点。
·可以跟踪变量在运行时的变化。
·可以查看运行时函数调用的顺序。
·可以方便地查看内存内容。
1.2.5 Visual C++6.0的主要菜单项
Visual C++6.0是集成开发环境,同时也是一种软件,因此也具备一般应用软件的操作界面。Visual C++6.0的顶级菜单项有如下9个。
·File:提供对源文件、资源文件和项目的新建、打开和保存等功能。
·Edit:提供对源文件的编辑功能,包括复制、粘贴等。
·View:提供查看调试窗口或设置开发环境视图等功能。
·Insert:提供新建类或插入文件到项目等功能。
·Project:提供对整个项目的设置功能。
·Build:提供启动编译和运行等功能。
·Tools:提供一些额外的工具,以帮助开发者提高软件开发效率和质量。
·Window:提供窗口显示和切换功能。
·Help:提供帮助信息。
1.File菜单
File菜单如图1-23所示,各菜单项功能如下所述。
·New:新建,可以新建一个源文件(C++头文件、C++源文件、Bitmap文件、ASP文件、HTML文件、SQL脚本文件和文本文件等)、一个项目或一个工作台(Workspace)。
·Open:打开,可以打开源文件(C++头文件、C++源文件、Bitmap文件、ASP文件、HTML文件、SQL脚本文件和文本文件等)和工作区。
·Close:关闭,可以关闭当前操作的窗口。
·Open Workspace:打开一个工作区。
·Save Workspace:保存当前工作区。
·Close Workspace:关闭当前工作区。
·Save:保存当前窗口的源文件。
·Save As:将当前窗口源文件另存为其他格式。
·Save All:保存当前修改过的所有源文件。
·Page Setup:页面设置。
·Print:打印当前的源文件。
·Recent Files:打开最近打开过的源文件。
·Recent Workspace:打开最近打开过的工作区。
·Exit:退出Visual C++6.0集成开发环境。
2.Edit菜单
Edit菜单如图1-24所示,各菜单项功能如下所述。
·Undo:撤销上一步的操作。
·Redo:重做上一步的操作;如程序员复制了一段程序到源文件中后发现不需要这个程序段,使用Undo操作撤销复制操作,但马上发现这个程序段还是有用的,此时则可以使用Redo来重做复制程序段的工作。
·Cut:剪切。
·Copy:复制。
·Paste:粘贴。
·Delete:删除。
·Select All:选择当前源文件中所有内容。
·Find:查找当前源文件中的内容。
·Find in Files:在多个文件中查找特定字段内容。在此功能的高级选项中,可以通过逻辑组合字段进行准确查找,如查找在文件开头或在文件结尾的字段等。
·Replace:替换。
·Go To:使光标跳到指定的行或书签处。
·BookMarks:在光标处设置书签名称。如果以后要查找,可以通过“Go To”命令直接定位到该书签。
·Advanced:高级设置。
·Breakpoints:设置断点,用于调试时暂时中断程序往下运行,以此为起点来跟踪变量变化。
·List Members:成员列表,用于显示当前光标可用的数据成员、成员函数或全局的宏等。
·Type Info:类型信息。
·Parameter Info:参数信息。
·Complete Word:单词自动完成。图1-23 File菜单图1-24 Edit菜单
3.View菜单
View菜单如图1-25所示,各菜单项可提供以下功能。
·Class Wizard:类创建向导。
·Resource Symbols:资源符号。
·Resource Includes:资源包含文件设置。
·Full Screen:集成开发环境全屏设置。
·Workspace:将光标定位到工作区。
·Output:将光标定位到输出窗口。
·Debug Windows:调试窗口,子菜单含有内存查看、变量跟踪等。
·Refresh:刷新。
·Properties:源代码属性设置。
4.Insert菜单
Insert菜单如图1-26所示,各菜单项可提供以下功能。
·New Class:创建新类。
·New Form:创建新表。
·Resource:插入新资源。
·Resource Copy:插入资源副本。
·File As Text:插入源文件。
·New ATL Object:插入新的ATL对象。
5.Project菜单
Project菜单如图1-27所示,各菜单项可提供以下功能。
·Set Active Projects:选择活动项目,如本节的活动项目是“test”。
·Add To Project:添加文件到某项目中。
·Source Control:代码控制,如可使用Source Safe软件来控制多个程序员对同一个项目同时进行的代码共享研发。
·Dependencies:项目依赖,可以保证系统编译时的顺序,即先编译无依赖项的项目,再编译其有依赖项的项目。
·Settings:项目设置,可以设置该项目的各种参数,如编译方式、链接方式、字节对齐等。
·Export Makefile:导出Makefile文件。
·Insert Project into Workspace:将某项目插入工作区中。图1-25 View菜单图1-26 Insert菜单
在一个项目中,源文件往往很多,并且存放于若干个不同的目录中,Makefile中定义了一系列规则,如哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,或者其他更复杂的操作。Makefile的好处是“自动化编译”,写好Makefile文件后,只需要一个make命令,整个项目即完全自动编译,极大地提高了软件开发的效率。make是一个解释Makefile中的指令的命令工具,一般来说,当前大多数主流IDE都有这个命令,如Delphi的make、Visual C++的nmake、Linux下GNU的make。可见,Makefile成为一种在项目研发中使用的编译方法。
6.Build菜单
Build菜单如图1-28所示,各菜单项可提供以下功能。
说明 以下菜单项中出现的*一般代表具体的文件名,这里不指出文件名,以*代替。
·Compile*.cpp/*.h/*.rc2:编译源文件(C/C++源文件、C/C++头文件和资源文件)。
·Build*.exe:创建执行文件。
·Rebuild All:重新创建所有的中间文件和可执行文件。
·Batch Build:选择编译类型,为Release或Debug。
·Clean:清理所有已创建好的中间文件和可执行文件。
·Start Debug:开始调试。
·Debugger Remote Connection:远程连接调试器。
·Execute*.exe:执行已生成的执行文件。
·Set Active Configuration:更改动态配置,可更改为Release或Debug。
·Configurations:配置编译类型。
·Profile:帮助用户分析并发现程序运行的瓶颈,找到耗时所在,同时也能帮助用户发现不会被执行的代码,从而最终实现程序的优化。
注意 选择创建版本为Release或Debug。Debug通常称为调试版本,包含调试信息,并且不做任何优化,便于程序员调试程序。Release称为发布版本,往往进行了各种优化,程序在代码大小和运行速度上都是最优的,以便用户很好地使用。图1-27 Project菜单图1-28 Build菜单
7.Tools菜单
Tools菜单如图1-29所示,各菜单项可提供以下功能。
·Source Browser:源文件浏览器,可以浏览对象的类定义、来源等。
·Close Source Browser File:关闭源文件浏览器文件。
·Visual Component Manager:可以帮助开发人员在团队开发中方便地搜索、跟踪、排列、重用各种部件和其他项目部件,并方便地从Microsoft Repository中发布部件。
·Register Control:当使用MFC编写组件程序时,由于编译器不知道用户写的是否COM组件,因此它不会帮用户自动注册,这时,开发人员可以执行该命令来注册。
·Error Lookup:错误查看器,如编程中可以对可疑代码段进行错误返回值获取,根据获取的错误返回值可以在该查看器中查看错误说明。
·ActiveX Control Test Container:用于测试ActiveX控件的级联菜单功能。
·OLE/COM Object Viewer:OLE/COM对象查看器,可以很方便地查看指定组件的全部注册表信息和类型库信息。
·Spy++:一种基于Win32的实用工具,提供系统的进程、线程、窗口和窗口消息的图形视图。
·MFC Tracer:可以启用或禁用部分或全部MFC跟踪调试信息(TRACE和TRACEn宏)。
·Customize:自定义功能,可以设置集成开发环境的菜单项等。
·Options:自定义集成开发环境的界面或其他相关功能配置。
·Macro:运行宏操作。
·Record Quick Macro:记录新的宏。
·Play Quick Macro:运行新的宏。
注意 Spy++是一种实用性很强的工具,可以执行的操作:显示系统对象(包括进程、线程和窗口)之间关系的图形树;搜索指定的窗口、线程、进程或消息;查看选定的窗口、线程、进程或消息的属性;直接从视图中选择窗口、线程、进程或消息;通过鼠标定位,使用查找程序工具选择窗口;使用复杂消息日志选择参数设置消息选项。
8.Window菜单
Window菜单如图1-30所示,各菜单项可提供以下功能。
·New Window:新建一个窗口。
·Split:切分,可以将一个源文件窗口切分成若干个,方便程序员浏览同一个源文件的不同部分而无需上下拖动。关闭该源文件窗口再重新打开即可取消该功能。
·Docking View:集成开发环境的窗口对接。单击该命令可以使某些窗口最大化。
·Close:关闭当前源文件窗口。
·Close All:关闭全部源文件窗口。
·Next:查看下一个窗口。如果连续打开多个窗口,则这些窗口会按照打开的顺序排序。
·Previous:查看上一个窗口。
·Cascade:并排显示窗口。
·Tile Horizontally:纵向排列窗口。
·Tile Vertically:横向排列窗口。
·Windows:单击该命令会出现一个对话框,让用户选择已经打开的窗口。图1-29 Tools菜单图1-30 Window菜单
9.Help菜单
Help菜单如图1-31所示,各菜单项可提供以下功能。
·Contents:内容,调用MSDN的HTML帮助文档。
·Search:搜索,调用MSDN的HTML帮助文档,并将光标定位到搜索框。
试读结束[说明:试读内容隐藏了图片]