《Visual C程序设计.ppt》由会员分享,可在线阅读,更多相关《Visual C程序设计.ppt(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 Visual C+程序设计 Visual C程序设计1.1 认识Visual C+集成开发环境Visual C+开发环境是一个基于Windows 操作系统的可视化、面向对象的集成开发环境(Integrated Development Environment,IDE)。在该环境下用户可以开发有关C 和C+的各种应用程序,应用程序包括建立、编辑、浏览、保存、编译、链接和调试等操作,这些操作都可以通过单击菜单选项或工具栏按钮来完成,使用方便、快捷。它还提供了项目工作区(WorkSpace)、应用程序向导(AppWizard)、类操作向导(ClassWizard)和WizardBar等实用编程工具。
2、Visual C+的主窗口图1.1Microsoft Visual C+开发环境Visual C程序设计在Visual C+集成开发环境中,把实现程序设计功能的一组相互关联的C+源文件、资源文件以及支撑这些文件的类的集合称为一个工程。工程是Visual C+IDE 开发程序的基本单位,一个工程至少包含一个工程文件,工程文件的扩展名为.dsp。Visual C+IDE 以项目工作区来组织应用程序的工程,项目工作区文件的扩展名为.dsw,这种类型的文件在Visual C+中级别是最高的。项目工作区含有工作区的定义和工程中所包含文件的所有信息。所以,要打开一个工程,只需打开对应的项目工作区文件(*.
3、dsw)即可。项目工作区窗格一般位于屏幕左侧,包含ClassView(类视图)、ResourceView(资源视图)及(文件视图)3 种视图。1.ClassViewClassView 用于显示工程中定义的类。展开文件夹将显示工程中所有的类,包括系统生成的和用户自定义的。单击类名左边的“+”,就可以看到类的数据成员和成员函数,如图1.2 所示。我们可以看到,在ClassView 中使用了各种各样的图标,它们被用来标识类、类成员和工程中的其他项,图1.3 给出了这些图标的含义。图1.2 ClassView 视图图1.3 ClassView 各图标含义2.ResourceViewResourceVi
4、ew 用于显示工程中所包含的资源文件。展开文件夹可显示所有的资源类型,如图1.4 所示。显示的资源类型包括Accelerator(加速键)、Dialog(对话框)、Icon(图标)、Menu(菜单)、StringTable(串表)、Toolbar(工具条)、Version(版本)等。双击底层某个图标或资源文件名,可以打开相应的资源编辑器。图1.4 ResourceView 视图3.用于显示所创建的工程。展开文件夹后可以看到工程中所包含的文件,如图1.5 所示。除了查看,还可以管理文件,包括增加、删除、移动、重命名和复制文件等。单击文件类型左边的“+”可看到工程中该种类型的所有文件,双击一个文件
5、即可打开该文件。一个应用程序工程主要包含实现源文件(*.cpp)、头文件(*.h)和资源文件(*.rc)等文件类型。图1.5 视图1.2 集成开发环境的菜单栏Visual C+IDE 中的菜单栏由、View、Insert、Project、Build、Tools、Window和Help 9 个主菜单组成,如图1.6 所示。每个主菜单又由多个菜单项和子菜单组成。菜单项提供的功能几乎可以完成Developer Studio 的所有功能。图1.6 Visual CIDE 的菜单栏1.2.1 File 菜单File 菜单主要包括一些与文件有关的操作命令,其中的主要菜单项、快捷键及其功能见表1-1。表1-
6、1 File 菜单中主要菜单项和功能1.2.2 Edit 菜单Edit 菜单主要包括一些与文件编辑有关的操作命令,它的作用在于为用户提供了一种编辑当前打开文件的手段。Edit 菜单中的主要菜单项、快捷键及功能见表1-2。表1-2 Edit 菜单中菜单项和功能1.2.3 View 菜单View 菜单中的菜单命令项主要用于改变窗口的显示方式和激活指定的窗口。它的作用在于让用户设置窗口的显示方式,并提供观察调试的窗口。View 菜单中的主要菜单项、快捷键及其功能见表1-3。表1-3 View 菜单中主要菜单项和功能1.2.4 Insert 菜单Insert 菜单主要包括一些与添加有关的操作命令,用于
7、向工程中插入类、资源、对象等。Insert 菜单中的主要菜单项、快捷键及其功能见表1-4。表1-4 Insert 菜单中主要菜单项和功能1.2.5 Project 菜单Project 菜单主要包括一些与工程管理有关的操作命令。Project 菜单中的主要菜单项、快捷键及其功能见表1-5。表1-5 Project 菜单中主要菜单项和功能1.2.6 Build 菜单Build 菜单主要包括一些与建立可执行程序有关的操作命令,可以提供编译、链接、调试等功能。Build 菜单中的主要菜单项、快捷键及其功能见表1-6。表1-6 Build 菜单中菜单项和功能1.2.7 Tools 菜单Tools 菜单中
8、的菜单命令主要用于启动Visual Studio 实用工具和定制Visual C+IDE 界面。Tools 菜单中的主要菜单项及其功能见表1-7。表1-7 Tools 菜单中菜单项和功能1.2.8 Window 菜单Window 菜单主要包括一些与窗口显示有关的操作命令。Window 菜单中的主要菜单项及其功能见表1-8。表1-8 Window 菜单中主要菜单项和功能1.3 集成开发环境的工具栏Visual C+IDE 的工具栏以停靠窗口的形式出现,工具栏的位置可以通过鼠标拖曳的方法来改变,并可以根据需要在显示与隐藏之间进行切换。一般的方法是执行Tools 菜单中的Customize 菜单命令
9、,打开Customize 对话框,然后单击Toolbars 标签,如图1.7 所示。也可以在菜单栏或工具栏的空白处单击鼠标右键,然后在一个弹出式菜单中选择要显示或隐藏的工具,如图1.8所示。图1.7 在定制对话框中设置工具栏图1.8 在弹出菜单中设置工具栏如果要恢复工具栏或菜单栏到系统原来的默认状态,则在Customize 对话框中单击Reset 或Reset All 按钮即可。1.3.1 Standard 工具栏Standard 工具栏中包括一些与文件和编辑有关的常用操作命令,每个按钮的功能与文件(File)、编辑(Edit)和查看(View)等主菜单中的某个菜单项对应。图l.9 给出了St
10、andard 工具栏的一般形式。Standard 工具栏按钮从左到右依次对应的菜单项为:New Text、Save、Save All、Cut、Copy、Paste、Undo、Redo、Workspace、Output、Window List、FindIn Files、Find、Search。图1.9 Standard 工具栏1.3.2 Build MiniBar 工具栏Build MiniBar 工具栏中主要包括了工程的选择、编译、链接和调试等操作命令,每个按钮的功能与编译和调试菜单中某个菜单项对应。图1.10 给出了编译微型条工具栏(BuildMiniBar)的一般形式。Build Mini
11、Bar 工具栏按钮从左到右依次对应的菜单项为:Compile、Build、Stop Build、Execute、Go、Insert/Remove Breakpoint。图1.10 Build MiniBar 工具栏1.3.3 WizardBar 工具栏WizardBar 工具栏可以对ClassView 和ClassWizard 中的命令进行快速访问,使类和成员函数的操作更加方便,WizardBar 会自动跟踪用户程序的上下文。它的一般形式如图1.11 所示。图1.11 WizardBar 工具栏WizardBar 工具栏上从左到右分别是Class List 下拉列表框、Filter 下拉列表框
12、、MemberList 下拉列表框和Action 控件。Action 控件含有一个按钮和一个下拉菜单。3 个列表框分别确定当前的类、ID 和成员函数,Action 控件用于完成一些常用功能。单击Action 按钮旁的下拉箭头时,可打开Action 菜单。通过选择菜单项,可执行跳到函数定义、增加消息处理函数等操作。Action 菜单中的菜单项及功能见表1-10。表1-10 Action 菜单中的菜单项和功能1.4 AppWizard 与ClassWizardAppWizard(应用程序向导)的作用是帮助用户一步步生成一个新的应用程序,并且自动生成应用程序所需的基本代码。它是Visual C+提供
13、的一个实用编程工具,用它产生C+源代码框架。将它与ClassWizard 一起配合使用,可大大节省用于开发应用程序的时间和精力。1.4.1 应用程序向导AppWizard在Visual C+中,开发Windows 应用程序有很多方法,最简单、最方便的方法是使用应用程序向导AppWizard。在可视化开发环境下,生成一个应用程序要做的工作主要包括编写源代码、添加资源和设置编译方式。利用应用程序向导可以快速创建各种风格的应用程序框架,并可自动生成程序通用的源代码,这样大大减少了手工编写代码的工作量,使程序员能把精力放在具体应用代码的编写上。启动Visual C+,进入Visual C+IDE,从F
14、ile 菜单上选择New 菜单项,此时将弹出New 对话框,如图1.12 所示。该对话框有4 个选项卡,分别用于创建新的Files、Projects、Workspaces 和Other Documents。图1.12 New 对话框1.Files 选项卡单击Files 标签,弹出选项卡,选择要创建的文件类型,如图1.13 所示。如果要把新文件添加到一个已经存在的工程中,则须选择Add to Project 复选框,并选择工程名称。在File 编辑框中输入文件名称,在Location 编辑框中选择路径。图1.13 Files 选项卡2.Projects 选项卡Projects 选项卡用于新建一个
15、项目工程,工程文件中存放软件开发所需的全部信息。单击Projects 标签,弹出选项卡,如图1.12 所示。首先选择工程类型,在Project name 编辑框中输入工程名称。Visual C+自动为新工程提供一个默认目录,用户也可以选择一个目录。如果用户要把新工程加到打开的Workspace 窗口中,须选择Add to current workspace单选按钮。否则,Visual C+将自动创建一个新Workspace 窗口来包含该工程。3.Workspaces 选项卡单击Workspaces 标签,弹出选项卡,如图1.14 所示。建立工作区文件用于记录用户程序开发过程中的各种信息,如打开
16、窗口的数目、大小、工具栏的设置信息等。选择工作区类型,在Workspace name 编辑框中输入工作区名称。Visual C+自动为新工作区提供一个默认目录,用户也可以改变它。可以先创建一个空的工作区再接着创建工程,此时工作区的目录不同于它所包含工程的目录。也可以在创建工程时选中Create new workspaces,此时工作区的名称和目录与工程的名称和目录一致。4.Other Documents 选项卡单击Other Documents 标签,弹出选项卡。选择文档文件类型。当创建新文件时,如果要把新文件加到一个已经存在的工程中去,则须选择Add to project 复选框,并选择工程
17、名称,在File 编辑框中输入文件名称。Visual C+自动为新文件提供一个默认目录,用户也可以自己选择目录。这里所列文件类型是指Active 文档,是由使用Active组件的程序如Microsoft Excel 或Microsoft Word 创建的。如果创建普通的文档,如源文件,应使用Files 选项卡。1.4.2 类向导ClassWizard利用AppWizard 生成的只是应用程序的框架,虽然可以正常地编译、运行程序,但不包含任何实质性的工作。要实现特定的功能,用户需要在相应的框架中添加自己的处理代码。利用ClassWizard 可以为它建立新类、进行消息映射、增加类的成员变量、修改
18、已存在的成员函数和成员变量等。单击View 主菜单下的ClassWizard 菜单项或按Ctrl+W 键,可以打开ClassWizard 对话框,如图1.16 所示。ClassWizard 由若干选项卡构成,其中Message Maps 和Member Variables 是两个最常用的标签。图1.16 ClassWizard 对话框1Message MapsVisual C+中,通过ClassWizard 管理消息映射,用户只需编写处理消息的函数,并在用户的类中增加一个消息映射即可。Message Maps 用于管理消息和成员函数之间的连接。其中的选项可以让用户进行加进消息响应函数、删除成员
19、函数以及对成员函数进行编辑等操作。Message Maps 选项卡如图1.16 所示。各选项的功能如下。Projcet:指出当前工程名称。Class name:显示当前的类名,要将消息处理函数映射为哪个类的成员函数,就在这里选择哪个类。Object IDs:表示当前所选中对象的ID 号,包括能产生消息的菜单项、对话框控件。表中的首项总是当前的类名。所有可接收消息对象的ID 都被列了出来。Messages:在Object IDs 列表框中单击,选中其中的一个ID,Messages 列表框中就会显示与之关联的消息列表。粗体字的消息表示已有消息处理函数。Member functions:列出当前类中
20、已包含的成员函数。V 表示是虚函数,W 表示是Windows 的消息响应函数。Add Class:用于向工程中添加一个新类。Add Function:用于向Member functions 框中加入一个新的消息响应函数,新增的成员函数用来响应Messages 框中当前所选中的消息。Delete Function:用于删除Member functions 列表框中所选中的函数。但此时只在头文件中删除了函数声明,在源文件中删除了消息映射项,实际的函数代码则必须由用户自己手工删除;否则,编译时会给出出错信息。Edit Code:用于打开Member functions 框中所选中的函数并进行编辑。2
21、Member VariablesMFC 提供了控件类,通过Member Variables 在控件所属的对话框类中映射一个控件对象,通过调用控件类的方法可以方便地操作控件对象。Member Variables 选项卡如图1.17所示。图1.17 Member Variables 标签页Project 下拉列表框列出用户正在处理的工程文件。在Class name 下拉列表框中,可以选择对哪个类进行类成员变量编辑。在Control IDs 列表框中,列出属于该类的控件ID。选中控件ID,单击Add Variable按钮,可以为这个控件映射值类型的成员变量或控件类型的成员变量。值类型的成员变量用于数
22、据交换,控件类型的成员变量就是一个控件类的对象。1.5 程 序 调 试1.5.1 查找源程序中的语法错误语法错误分为一般错误(error)和警告错误(warning)。当出现error 错误时将不会产生可执行程序,而出现warning 错误时能够生成可执行程序,但程序运行时可能发生错误,严重的warning 错误还会引起死机现象。warning 错误比error 错误更难于修改,应该尽量消除warning 错误。1.5.2 调试器为了查找和修改程序中的逻辑设计错误,Visual C+IDE 提供了重要的调试工具Debug。单击Build|Start Debug 菜单中的菜单项,可以启动Debu
23、g。Start Debug 子菜单中有Go、Step Into、Run To Cursor 及Attach to Process 菜单项,它们的功能见表1-11。表1-11 Start Debug 菜单中的菜单项和功能Debug 主菜单取代Build 主菜单出现在菜单栏中,同时出现一个可停靠的调试工具栏和一些调试窗口,如图1.18 所示。将光标放在程序中的某个变量名上,它的当前值就会显示出来。在Debug 菜单上有许多菜单项可以控制程序的执行,见表1-12。Variable 窗口用于观察和修改变量的当前值,Debug 可根据当前程序运行过程中变量的变化情况自动选择应显示的变量。用户可以在Var
24、iable 窗口的Context 下拉框选择要查看的函数,然后Debug 会在窗口中显示函数局部变量的当前值。该窗口中有3 个标签,Auto标签中显示当前语句或前一条语句中变量的值和函数的返回值。Locals 标签中显示当前函数局部变量的名称、值和类型。this 标签以树型方式显示当前类对象的所有数据成员,单击“+”号可展开this 指针所指对象。图1.18 Debug 界面表1-12 Debug 菜单中的菜单项和功能1.5.3 跟踪调试程序即使源程序没有语法错误,但最后生成的可执行程序也没有像程序设计要求的那样运行,这类程序设计上的错误被称为逻辑设计错误或缺陷(bug)。跟踪调试程序是查找此
25、类逻辑设计错误方法中最常采用的动态方法。跟踪调试的基本原理就是在程序运行过程的某一阶段观测程序的状态。而在一般情况下程序是连续运行的,所以我们必须使程序在某一点停下来。首先,我们所做的第一项工作就是设立断点;其次,再运行程序,当程序在断点设立处停下来时,再利用各种工具观测程序的状态。程序在断点停下来后,有时需要按用户要求控制程序的运行,以便进一步观测程序的流向。1.设置断点利用Visual C+提供的集成调试环境,可以设置从简单到复杂的各种断点。选择Edit菜单下的Breakpoints 菜单项后,系统显示reakpoints 对话框,如图1.19 所示。由图中可以看到Breakpoints
26、对话框包含3 个选项卡,分别对应“按位置”、“按表达式的值”和“按窗口消息”3 种设置断点的方式。图1.19 Breakpoints 对话框Location 选项卡用于设置位置断点。该断点是最常用的一个无条件断点,也是默认的断点类型。程序执行时遇到这种断点,只是简单地停下来。2.控制程序运行当设置完断点后,程序就可以进入Debug 状态,并按要求来控制程序的运行,其中有4 条命令:Step Over、Step Into、Step Out 和Run to Cursor。Step Over:运行当前箭头指向的代码(只运行一条代码)。Step Into:如果当前箭头所指的代码是一个函数的调用,则用Step Into 进入该函数并进行单步执行。Step Out:如果当前箭头所指向的代码是在某一函数内部,用它可使程序运行至函数返回处。Run to Cursor:使程序运行至光标所指的代码处。我们可以通过用鼠标单击工具栏按钮或使用热键来控制程序的运行。3.观察数据变化在调试过程中,用户可以通过Watch 和Variables 窗口查看当前变量的值。这些信息可以反映程序运行过程中的状态变化以及变化结果的正确与否。Visual C程序设计