资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,Visual C+使用方法简介,1,Visual C+菜单栏,Visual C+6.0的菜单分成9大类:,File文件 Edit编辑 View视图,Insert插入 Project工程 Build组建,Tools工具 Window窗口 Help帮助,在程序运行时, Visual C+ 6.0的菜单栏可以动态改变,还有Layout和Debug。,如在调试状态下, Build变成了Debug。,2,File文件菜单,File菜单共有,14,选项,分成6组:,1、New新建一个一般文件,工程,工作区,其他文档。Open打开、Close关闭,2、Workspace工作区操作,打开、保存和关闭工作区。,3、有三个菜单项,用于文件保存。,4、有二个菜单项,用于文件打印。,5、用于打开以前打开过的文件或工作区。,6、一个菜单项Exit,用于退出Visual C+ 6.0。,3,Edit编辑菜单,Edit菜单分成7组:,1、撤销编辑结果,或重复前次编辑过程。,2、提供常见的编辑功能。,3、字符串查找和替换。,4、Go to和Bookmark编辑行定位和书签定位。,5、Advanced(高级),一些其他编辑手段。,6、Breakpoints,与调试有关,主要用于设置断点。,7、成员列表、函数参数信息、类型信息,及自动完成功能。,4,View视图菜单,View菜单共有9个选项,分成6组,(初始时没有1和7):,1、ClassWizard(或Ctrl+W),激活MFC ClassWizard 类向导工具,用来管理类、消息映射等。,2、Resource Symbols 对工程所定义的所有资源标号,进行浏览和管理。,3、 Resource Includes 用于设定资源ID的包含头文件 。,4、Full Screen 全屏显示,按Esc退出全屏显示。,5、Workspace 显示工作区窗口。,6、Output 显示输出窗口。,7、Debug Windows 在调试状态下控制一些调试窗口。,8、Refresh 刷新当前显示窗口。,9、Properties 查看和修改当前窗口所显示的对象的属性。,5,Insert插入菜单,Insert菜单共有6个选项:,1、New Class 添加新类(MFC 、Generic、Form三种不同类型的类)。,2、New Form 添加Form Class。,3、Resource添加资源。,4、Resource Copy添加资源复制件。,5、File As Text 插入选定的文本文件。,6、New ATL Object添加ATL对象。,6,Project工程菜单,Project,菜单共有6个选项:,1、Set Active Project 在多个工程中选定当前活动工程。,2、Add to Project 向当前工程添加文件、文件夹、数据连接、Visual C组件,以及ActiveX控件。,3、source Control源代码控制具。,4、 Dependencies设置工程间的依赖关系。,5、 Settings 设置工程属性,(调试版本、发布版本和共同部分),。,6、Export Makefile 导出应用程序的Make(*.mak)文件。,7,Build构建菜单,Build菜单共有13个选项:,1、Compile 编译当前文件。,2、Build 创建工程的可执行文件,但不运行。,3、Rebuild All重新编译所有文件,并连接生成可执行文件。,4、Batch Build成批编译、连接工程的不同设置。,5、Clean把编译、连接生成的中间文件和最终,可执行文件删除。,6、Start Debug-Go 开始调试,到断点处暂停。,7、Start Debug-Step Into单步调试,遇函数进入函数体。,8、Start Debug -Run to Cursor开始调试,到光标处停止。,9、Debugger Remote Connection用于远程连接调试。,10、Execute运行可执行目标文件。,11、Set Active Configuration选择Build配置方式(Debug、Release)。,12、Configuration增加或删除工程配置方式。,13、Profile工程构建过程的描述文件。,8,Tools工具菜单,Tools菜单中是Visual C+附带的各种工具。,其中常用的工具有,ActiveX Control Test Container(测试一个ActiveX控件的容器)、,Spy+(用于程序运行时以图形化方式查看系统进程、线程、窗口、窗口信息等),,以及MFC Tracer(用于程序跟踪)等。,还有一些常用的设置:Customize,Options,。,9,Windows窗口菜单,Windows菜单主要工能如下:,1、New Window新建一个窗口,内容与当前窗口同。,2、Split 分割当前窗口成四个,内容全相同。,3、Docking View控制当前窗口是否成为浮动视图。,4、Cascade编辑窗口层叠放置。,5、Tile Horizontally编辑窗口横向平铺显示。,6、Tile Vertically编辑窗口纵向平铺显示。,7、Windows对已经打开的窗口进行集中管理。,10,Help,窗,窗,口,口,菜,菜,单,单,Help,菜,菜,单,单,中,中,的,的4,个,个,选,选,项,项Contents,、,、Search,、,、Index,和,和TechnicalSupport,都,都,会,会,弹,弹,出,出,帮,帮,助,助,窗,窗,口,口,,,,,叫,叫,做,做MSDNLibraryVisualStudio6.0,。,。,MSDN库,提,提供的帮助,工,工能很丰富,,,,可以以目,录,录、索引和,搜,搜索三种方,式,式提供帮助,。,。浏览方式,多,多样,甚至,可,可以连接到Web网站,查,查找信息。,另有两个选,项,项:,Keyboard Map选项打,开,开快捷键列,表,表;,Tip of theDay选,项,项打开Tip ofthe Day对话框,,,,介绍VisualC+6.0的使用知,识,识和技巧。,11,工具栏,工具栏由多,个,个操作按钮,组,组成,这些,操,操作一般都,与,与某个菜单,项,项对应。主,要,要工具栏如,下,下:,1、Standard,提,提供最基本,的,的功能:文,件,件操作、编,辑,辑、查找等,。,。,2、Build工程的,编,编译、连接,、,、修改活动,配,配置、运行,调,调试程序。,3、Build MiniBar,由,由部分按钮,组,组成的工具,栏,栏。,4、Resource,添,添加各种类,型,型的资源。,5、Edit剪切、复,制,制和粘贴等,功,功能。,6、Debug用于调,试,试状态的若,干,干操作,7、Browse源程,序,序浏览操作,8、Database,跟,跟数据库有,关,关的操作。,12,Visual C+,组,组件一览,DeveloperStudio开发环境,编辑器,编译器,链接器,Wizard实用程序,调试器,其他实用工,具,具,13,DeveloperStudio开发环境,图1,14,了解Developer Studio,Workspace(,工,工作空间),窗,窗口,Output(输出),窗,窗口,编辑窗口,调试窗口,15,工作空间窗,口,口,ClassView:,列,列出项目中,的,的类和成员,函,函数。双击,列,列表中的类,或,或函数,即,可,可在Visual C+文本编,辑,辑器中打开,该,该类的源文,件,件。,ResourceView:列出,项,项目的资源,数,数据,双击,列,列表中的数,据,据项会打开,合,合适的编辑,器,器并加载资,源,源。,FileView:列,出,出项目的源,文,文件,头文,件,件。,Workspace窗,口,口显示了项,目,目各个方面,的,的信息。在,窗,窗口底端选,择,择相应的选,项,项卡来按不,同,同视图显示,项,项目的列表,。,。,16,工作空间和,项,项目,工作空间(workspace),:,:工作空间,是,是一个包含,用,用户的所有,相,相关项目和,配,配置的实体,。,。,项目(project):项目定,义,义为一个配,置,置和一组文,件,件,用以生,成,成最终的程,序,序或二进制,文,文件。一个,工,工作空间可,以,以包含多个,项,项目,这些,项,项目既可以,是,是同一类型,的,的项目,也,可,可以是由不,同,同类型的项,目,目(如VisualC+和VisualJ+项,目,目)。,17,编辑窗口,编辑窗口为,开,开发者提供,了,了编辑文件,和,和资源的手,段,段。通过编,辑,辑窗口,开,发,发者可以编,辑,辑和修改源,程,程序和各种,类,类型的资源,。,。,18,资源,资源包括菜,单,单、对话框,、,、图标、字,体,体、快捷键,等,等。开发者,可,可以通过编,辑,辑资源来定,义,义WINDOWS程序,的,的界面部分,。,。,资源的定义,是,是以文本的,形,形式存放在,资,资源定义文,件,件中,并由,编,编译器编译,为,为二进制代,码,码。,在VC+,中,中,提供了,一,一个资源编,辑,辑器,使开,发,发者能在图,形,形方式下对,各,各种资源进,行,行编辑。,19,资源编辑器,图2,20,输出窗口,编译信息:,在,在编译时输,出,出,主要是,编,编译时的错,误,误和警告。,调试信息:,在,在对程序进,行,行调试时输,出,出,主要是,程,程序当前的,运,运行状况。,查找结果:,在,在用户从多,个,个文件中查,找,找某个字符,串,串时产生,,显,显示查找结,果,果的位置。,输出窗口输,出,出一些用户,操,操作后的反,馈,馈信息,它,由,由一些页面,组,组成,每个,页,页面输出一,种,种信息,输,出,出的信息种,类,类主要有:,21,调试窗口,变量查看窗,口,口(WATCH),过程调用查,看,看窗口(CALL STACK),内存查看窗,口,口(MEMORY),寄存器查看,窗,窗口(REGISTER),调试窗口包,括,括一组窗口,,,,在调试程,序,序时分别显,示,示各种信息,,,,这些窗口,主,主要包括:,22,用VC,环,环境下运行,一,一个新程序,的,的上机操作,步,步骤,1.,打开VC+窗口,单,击,击菜单File-New,2.在弹出,窗,窗口上选择,标,标签Project,,选,选中Win32 ConsoleApplication项,并,在,在Project name框输,入,入工程名;,在,在Location框,输,输入保存源,程,程序的路径,名,名;单击OK。,3.在弹出,窗,窗口,选择AnEmptyProject,单,击,击Finish按,钮,钮;在下一,窗,窗口单击OK。,4.再在VC+菜单,条,条中单击File-New。,23,5.在弹出,窗,窗口选择标,签,签File,,,,选C+Source File,并在File框,输,输入文件名,。,。(此时,Add to project框,应,应该是刚输,入,入的工程名,,,,Location框,应,应是刚输入,的,的路径名).,6.在编辑,窗,窗口输入源,程,程序,单击File-Save,存,存盘.,7.再在VC+菜单,条,条中单击Build-Compile;无编,辑,辑错,单击Build -Build;,无,无连接错,,单,单击Build-Execute,执,执行程序;,运,运行结束,,按,按任意键退,回,回VC+,窗,窗口。,8.如果再,键,键入另一个,新,新程序,单,击,击,File-CloseWorkspace,;,;,然后再重复,上,上述步骤。,编译一个已,打,打开的程序,也,也可简单地,单,单击Build All的标,志,志符。执行,编,编译好的程,序,序,单击执,行,行标志!。,24,如要,打开已存在,的,的C+.CPP源,程,程序,可按,以,以下步骤打,开,开:,1.,打,打开VC+,窗,窗口,,,,单,击,击File-Open;,2.,在,在弹,出,出对,话,话框,找,找文,件,件所,在,在文,件,件夹,,,,选,中,中文,件,件,,单,单击,打,打开,按,按钮,,,,把,文,文件,调,调入VC+,编,编辑,窗,窗。,3.,在,在VC+菜,单,单条,中,中单,击,击Build-Compile,,单,单击,是,是按,钮,钮。,4.,无,无编,辑,辑错,,,,单,击,击Build-Build;,无,无连,接,接错,,,,单,击,击Build-Execute执,行,行程,序,序;,运,运行,结,结束,,,,按,任,任意,键,键退,回,回VC+窗,口,口。,编译,一,一个,已,已打,开,开的,程,程序,也,也可,简,简单,地,地单,击,击BuildAll,的,的标,志,志符,。,。执,行,行编,译,译好,的,的程,序,序,,单,单击!,25,用VC,开,发,发程,序,序的,过,过程,用AppWizard新,建,建一,个,个工,程,程,编辑,代,代码,编译,代,代码,调试,和,和执,行,行程,序,序,26,AppWizard,AppWizard,(,(应,用,用程,序,序生,成,成器,),)是VisualC+,自,自带,的,的一,个,个工,具,具,,通,通过,它,它,,可,可以,方,方便,地,地生,成,成各,种,种类,型,型的,程,程序,的,的框,架,架。,选择菜单,中,中的File-New,,即,即可以使,用,用AppWizard来,新,新建程序,。,。,可以新,建,建的内,容,容包括File、Project,、,、Workspaces、OtherDocuments,四,四个页,面,面,每,个,个页面,下,下有各,种,种类型,的,的工程,或,或文件,。,。,选定类,型,型之后,,,,即进,入,入Wizard(向,导,导),,让,让用户,选,选择一,些,些可选,项,项,完,成,成之后,,,,程序,的,的框架,即,即生成,。,27,用App Wizard新,建,建一个,工,工程,在File菜,单,单上,,点,点New,选,择,择Projects,标,标签。,从列表,中,中选择,项,项目类,型,型。,点Create NewWorkspace(新建,工,工作区)或AddtoCurrent Workspace(,加,加入到,当,当前工,作,作区中)。,要使新,工,工程为,子,子工程,,,,可以,选,选择Dependencyof,检,检查,框,框,并,从,从列表,中,中选择,一,一个工,程,程。,在ProjectName框中,,,,输入,新,新工程,名,名,确,保,保该名,字,字必须,与,与工作,区,区中的,别,别的工,程,程名字,不,不重名,。,。,在Location,框,框中,,指,指定工,程,程存放,的,的目录,:,:可以,直,直接输,入,入路径,名,名,也,可,可以按,旁,旁边的Browse,按,按钮,,浏,浏览选,择,择一个,路,路径,。,。,点Platform框,中,中的相应检,查,查框,指定,工,工程的开发,平,平台 。,输入完以上,内,内容并按OK按钮后,,根,根据所选的,工,工程类型,,会,会出现相应,的,的Wizard(向导,),)。通过一,系,系列的对话,框,框输入,快,速,速生成工程,的,的框架。,28,新建,一,一个C+程,序,序,在File菜,单,单上,,,,点,节,节New,,,,选,择,择File标,签,签。,从列,表,表中,选,选择C/C+源,程,程序,。,。,在编,辑,辑窗,键,键入,源,源程,序,序,。,。,文件,保,保存,,,,源,程,程序,文,文件,的,的名,必,必需,为,为.C或.CPP,点节,编,编译,命,命令,。,。,若程,序,序有,错,错,,重,重新,编,编辑,源,源程,序,序,,改,改正,错,错误,后,后,,重,重新,编,编译,。,。,编译,没,没有,错,错误,后,后,,点,点节,执,执行,命,命令,,,,程,序,序开,始,始执,行,行。,29,继续,新,新建,一,一个C+程,序,序,在File菜,单,单上,,,,点,节,节Close,关,关闭,编,编辑,窗,窗,,点,点节CloseWorkspace关,闭,闭工,作,作空,间,间。,然后,重,重复,新,新建,一,一个C/C+程,序,序的,全,全部,工,工作,。,。,修正,一,一个,已,已有,的,的C+,程,程序,1、,在,在File菜,单,单上,,,,点,节,节Open,,打,打开,一,一个,已,已有,的,的C+,程,程序,。,。,2、,在,在编,辑,辑窗,修,修改,源,源程,序,序,。,。,3、,点,点节,编,编译,命,命令,。,。,4、,若,若程,序,序有,错,错,,重,重新,编,编辑,源,源程,序,序,,改,改正,错,错误,后,后,,重,重新,编,编译,。,。,5、,编,编译,没,没有,错,错误,后,后,,点,点节,执,执行,命,命令,,,,程,序,序开,始,始执,行,行。,30,开始,实,实践-,第,第一,个,个VC程,序,序,新建,一,一个,新,新工,程,程,,在,在项,目,目类,型,型中,选,选“Win32ConsoleApplication”,。,。,在ProjectName框,中,中输,入,入test1,,,,将CreateNewWorkspace,选,选择,框,框选,中,中。,按OK按,钮,钮。,在出,现,现的Wizard,对,对话,框,框中,选,选择ASimpleApplication,,,,然,后,后按Finish,按,按钮,。,。,在接,下,下来,出,出现,的,的对,话,话框,中,中按OK,。,。,31,编,译,译,运,运,行,行,程,程,序,序,选,择,择,菜,菜,单,单,中,中,的,的Build-Buildtest1.exe,在,输,输,出,出,窗,窗,口,口,会,会,出,出,现,现,“,“test1.exe-0error(s),0warning(s),”,”,,,,,说,说,明,明,编,编,译,译,通,通,过,过,。,。,选,择,择,菜,菜,单,单,中,中,的,的Build-Executetest1.exe,。,。,出,现,现,运,运,行,行,结,结,果,果,。,。,32,程,序,序,运,运,行,行,结,结,果,果,图3,33,编,辑,辑,代,代,码,码,在,工,工,作,作,空,空,间,间,窗,窗,口,口,中,中,选,选ClassView,页,页,面,面,。,。,双,击,击Global,下,下,的,的main,方,方,法,法,,,,,右,右,边,边,的,的,编,编,辑,辑,窗,窗,口,口,显,显,示,示,了,了main,方,方,法,法,所,所,在,在,源,源,文,文,件,件,的,的,内,内,容,容,。,。,在,编,编,辑,辑,窗,窗,口,口,中,中,的,的return0,的,的,前,前,面,面,插,插,入,入,一,一,行,行,“,“printf(thisismyfirstprogram!n);”,。,。,在#include,“,“stdafx.h,”,”,那,那,行,行,之,之,后,后,插,插,入,入,一,一,行,行#includestdio.h,保,存,存,文,文,件,件,34,重,新,新,编,编,译,译,并,并,运,运,行,行,选,择,择,菜,菜,单,单,中,中,的,的Build-Buildtest1.exe,如,果,果,在,在,输,输,出,出,窗,窗,口,口,出,出,现,现,test1.exe-0error(s),0warning(s),说,明,明,编,编,译,译,通,通,过,过,;,;,如,如,果,果,显,显,示,示,有,有,错,错,误,误,,,,,则,则,需,需,要,要,修,修,改,改,源,源,文,文,件,件,直,直,到,到,编,编,译,译,通,通,过,过,。,。,选,择,择,菜,菜,单,单,中,中,的,的Build-Executetest1.exe,。,。,出,现,现,运,运,行,行,结,结,果,果,。,。,35,修,改,改,过,过,的,的,程,程,序,序,运,运,行,行,结,结,果,果,图4,36,调试,程,程序,编译,错,错误是因,为,为程,序,序代,码,码不,符,符合C+语,法,法、,单,单词,拼,拼写,错,错误,、,、函,数,数调,用,用参,数,数使,用,用不,当,当等,,,,通,过,过编,译,译和,检,检查,程,程序,能,能比,较,较方,便,便地,改,改正,。,。,若运,行,行结,果,果与,预,预期,结,结果,不,不同,,,,则,需,需要,用,用调,试,试程,序,序来,找,找到,程,程序,中,中错,误,误的,地,地方,,,,并,排,排除,所,所有,的,的错,误,误。,选择,菜,菜单,中,中的Build-StartDebug,,,,启,用,用调,试,试器,。,。调试,器,器有,四,四个,子,子菜,单,单:,Go,StepInto,Runtocursor,Attachtoprocess,37,-Go,从,从,当,当前,语,语句,开,开始,执,执行,,,,直,到,到遇,到,到断,点,点,,或,或程,序,序执,行,行结,束,束。,用,用Go启,动,动调,试,试器,,,,从,头,头开,始,始执,行,行程,序,序。,-StepInto,单,单步,执,执行,每,每一,程,程序,行,行,,遇,遇到,函,函数,调,调用,进,进入,函,函数,体,体内,单,单步,执,执行,。,。,-Runtocursor,运,运行,程,程序,至,至当,前,前光,标,标位,置,置。,-Attachtoprocess,将,将调,试,试器,与,与当,前,前运,行,行的,某,某个,进,进程,联,联系,起,起来,,,,可,跟,跟踪,进,进入,进,进程,内,内部,,,,调,试,试运,行,行中,的,的进,程,程。,38,调试,命,命令,菜单,项,项,快,快,捷,捷键,作,作用,GoF5,运,运行,程,程序,至,至断,点,点,,或,或程,序,序结,束,束,RestartCtrl+Shift+F5,重,重新,载,载入,程,程序,,,,并,启,启动,执,执行,StopDeb.Shift+F5,关,关闭,调,调试,会,会话,Break,从,从当,前,前位,置,置退,出,出,,终,终止,程,程序,执,执行,StepIntoF11,单,单步,执,执行,,,,并,进,进入,调,调用,函,函数,StepOverF10,单,单步,执,执行,,,,但,不,不进,入,入函,数,数,StepOutShift+F11,跳,跳出,当,当前,函,函数,,,,回,到,到调,用,用处,RuntoCursorCtrl+F10,运,运,行,行止,当,当前,光,光标,处,处,Exceptions,设置,异,异常,,,,可,以,以选,择,择遇,到,到异,常,常处,停,停止,,,,,或遇,到,到未,处,处理,的,的异,常,常处,停,停止,Threads,线程,调,调试,,,,可,以,以挂,起,起、,恢,恢复,、,、切,换,换线,程,程,StepIntoSpecificFunction,直,直,接,接进,入,入函,数,数,,用,用于,调,调试,多,多层,嵌,嵌套,的,的函,数,数,39,在View菜,单,单下,还,还提,供,供一,个,个DebugWindows,菜,菜单,的,的几,个,个子,菜,菜单,,,,用,于,于隐,藏,藏或,显,显示,与,与调,试,试工,作,作相,关,关的,一,一些,窗,窗口,。,。,菜单,项,项,快,快,捷,捷键,作,作用,WatchAlt+3,显示,窗,窗口,,,,用,于,于观,察,察和,设,设置,变,变量,值,值,VariablesAlt+4,观,观察,与,与当,前,前函,数,数相,关,关的,变,变量,RegistersAlt+5,观,观察,微,微处,理,理器,的,的寄,存,存器,MemoryAlt+6,观,观察,未,未使,用,用的,内,内存,块,块,CallStackAlt+7,显,显,示,示调,用,用栈,,,,观,察,察调,用,用的,函,函数,DisassemblyAlt+8,打,打开,窗,窗口,显,显示,汇,汇编,程,程序,代,代码,断点是,程,程序调,试,试过程,中,中暂时,停,停止执,行,行的地,方,方。在,断,断点处,,,,可以,观,观察、,设,设置变,量,量的值,,,,检查,程,程序是,否,否按所,期,期望的,逻,逻辑执,行,行。,40,插入断,点,点在源程,序,序窗口,内,内任一,程,程序行,上,上按鼠,标,标右键,,,,从右,键,键快捷,菜,菜单中,选,选择Insert/Remove Breakpoint菜单,项,项,就,可,可以将,当,当前语,句,句行作,为,为一个,断,断点。,在,在该语,句,句行左,边,边,有,一,一个红,色,色实心,圆,圆指示,该,该行是,一,一个断,点,点。,删除断,点,点在有断,点,点的语,句,句行上,按,按右键,弹,弹出快,捷,捷菜单,,,,选择Remove Breakpoint菜单,项,项,就,可,可删除,该,该断点,。,。,禁止断,点,点在断点,处,处的右,键,键快捷,菜,菜单上,选,选择Disable Breakpoint菜单,项,项,暂,时,时禁止,该,该断点,,,,该断,点,点可能,以,以后再,用,用。该,位,位置将,变,变为用,空,空心圆,标,标记。,恢复断,点,点在禁止,断,断点处,,,,用右,键,键快捷,菜,菜单选,择,择EnableBreakpoint菜,单,单项,,恢,恢复起,用,用曾被,禁,禁止的,断,断点。,41,开发窗口程,序,序,新建一个新,工,工程,在项,目,目类型中选,“,“Win32 Application”。,在Project Name框中,输,输入test2,将CreateNewWorkspace选,择,择框选中。,按OK按钮,。,。,在出现的Wizard,对,对话框中选,择,择A TypicalHello world Application,,然,然后按Finish按,钮,钮。,在接下来出,现,现的NewProject Information,对,对话框中按OK。,编译代码、,运,运行代码。,42,窗口程序运,行,行结果,图5,43,获取帮助,为什么要获,取,取帮助,不可能也没,有,有必要去记,住,住所有的知,识,识,帮助文档可,以,以使程序员,事,事半功倍,获取帮助的,途,途径,MSDN联,机,机帮助,参考书,INTERNET,44,MSDN联,机,机文档,图6,45,使用MSDN,Contents(目,录,录)选项卡,当你头脑中,有,有一个大概,的,的主题,而,你,你又想要看,一,一看这个主,题,题有哪些文,档,档时,目录,表,表是非常有,用,用的。,Index(索引,),)选项卡,Index(索引,),)选项卡,显,显示了整,套,套MSDN文件的,全,全面索引,,,,只要打,入,入关键字,,,,就可以,立,立刻找到,你,你要找的,东,东西。,Search(搜,索,索)选项,卡,卡,MSDN,帮,帮助文件,集,集包含一,个,个搜索引,擎,擎,它能,进,进行全文,本,本搜索来,确,确定哪些,主,主题文件,包,包含了指,定,定的词或,短,短语。,Favorites(收藏,),)选项卡,它维护着,一,一个标记,选,选择过的,文,文章的书,签,签列表,,使,使你能迅,速,速找到你,曾,曾经看过,的,的内容。,46,基于MFC 的GUI编程,47,1.Windows编程-1,事件驱动,和,和消息机,制,制是Windows编程的,基,基础。,Windows是,消,消息驱动,(,(或事件,驱,驱动)的,操,操作系统,。,。消息驱,动,动意味着,操,操作系统,的,的每个部,分,分与其它,部,部分,以,及,及应用程,序,序之间通,过,过Windows,消,消息进行,通,通信。例,如,如当我们,移,移动鼠标,或,或按下键,盘,盘上某个,键,键,Windows就会捕,捉,捉到这个,消,消息,并,存,存储到消,息,息队列中,等,等待处理,(,(通常是,转,转发给相,应,应的操作,系,系统某个,处,处理程序,或,或者应用,程,程序)。,48,1.Windows,编,编程-1,以前的,软,软件开,发,发者采,用,用SDK(WindowsSoftwareDevelopmentKit 软,件,件开发,工,工具包,),)进行Windows编程,。,。,SDK,的,的核心,内,内容是API,(,(应用,程,程序编,程,程接口,),)、事,件,件驱动,和,和消息,循,循环。,API,是,是一个,程,程序包,,,,其内,有,有一组,函,函数,,供,供程序,员,员用它,创,创建其,他,他程序,。,。Windows正,是,是利用API,实,实现图,形,形用户,界,界面(GUI,),)。,49,1.Windows,编,编程-2,选择为,开,开发Windows,应,应用而,设,设计的,精,精美的,应,应用程,序,序框架,(,(Applicationframework)。Applicationframework是一,个,个完整,的,的程序,模,模型,,具,具备标,准,准应用,软,软件所,需,需的一,切,切基本,功,功能,,如,如文件,存,存取、,打,打印预,览,览。,Applicationframework,提,提供了,标,标准的,程,程序模,型,型,我,们,们只需,要,要按个,人,人需要,添,添加一,些,些材料,:,:在派,生,生类中,改,改写虚,拟,拟函数,,,,或在,派,派生类,中,中加上,新,新的程,序,序函数,。,。微软,的,的MFC是一,种,种十分,成,成功的Applicationframework,。,。,50,1.Windows,编,编程-2,MFC,(,(Microsoft FoundationClasses,微,微软基,础,础类),是,是一个,建,建立在Windows API基,础,础上的C+,类,类库,,目,目的是,使,使Windows程,序,序设计,过,过程更,有,有效率,。,。我们,可,可以把MFC,看,看作一,个,个零组,件,件“超,级,级市场,”,”。这,些,些零组,件,件(类,),)功能,以,以及彼,此,此间的,关,关系都,已,已经定,义,义好,,我,我们可,以,以从中,选,选择自,己,己需要,的,的零件,构,构造出,一,一个应,用,用程序,。,。,静态情,况,况下MFC是,一,一组类,,,,在程,序,序执行,期,期间就,生,生成一,组,组有活,动,动力的,对,对象组,。,。MFC程序,没,没有main,函,函数这,样,样的入,口,口,它,的,的执行,由,由applicationobject(一,个,个派生,自,自MFC CWinApp,的,的全局,对,对象),引,引发,,引,引发后,我,我们选,用,用的MFC类,就,就依次,实,实例化,开,开始运,行,行了。,51,2.MFCAppWizard,AppWizard(ApplicationWizard)俗,称,称“应,用,用程序,创,创建向,导,导”。,使用MFCAppWizard,可,可以创,建,建基于MFC,类,类库的Windows应用,程,程序(,可,可执行,文,文件.exe,或,或者动,态,态连接,库,库.dll),。,。 MFCAppWizard,提,提供一,系,系列对,话,话框,,用,用户可,以,以从中,选,选择满,足,足需要,的,的选项,。,。定义,完,完应用,程,程序和,项,项目选,项,项后,MFCAppWizard生成,创,创建应,用,用程序,所,所需要,的,的初始,框,框架文,件,件。,MFCAppWizard可以,创,创建三,种,种类型,的,的应用,程,程序:,1.Singledocuments(单,文,文档SDI,),):一,次,次只允,许,许打开,一,一个子,文,文档窗,体,体。,2.Multipledocuments,(,(多,文,文档MDI,),):允,许,许打开,多,多个子,文,文档窗,体,体。,3.Dialog-Based,(,(基,于,于对话,框,框):,基,基于对,话,话框的,应,应用程,序,序将显,示,示一个,对,对,话,话框,供,供用户,输,输入或,者,者进行,选,选择。,三种,类,类型,应,应用,程,程序,的,的示,例,例如,下,下:,52,图7SDI,程,程序,示,示例,(,(Windows,记,记事,本,本),53,图8MDI,程,程序,示,示例,(,(又,如,如微,软,软的Word,),),54,图9Dialog-Based程,序,序示,例,例(Windows我,的,的电,脑,脑中,文,文件,夹,夹选,项,项设,置,置窗,口,口),55,3.,一,一,个,个简,单,单的,多,多文,档,档应,用,用程,序,序实,例,例,利用,编,编程,工,工具MFCAppWizard。,不,不需,要,要增,添,添一,句,句代,码,码就,可,可获,得,得标,准,准的,多,多文,档,档应,用,用程,序,序框,架,架,,包,包括,打,打印,等,等高,级,级功,能,能。,程序,运,运行,界,界面,如,如图8所,示,示。,首先,新,新建project,,选,选择,的,的工,程,程类,型,型是,:,:MFCAppWizard(exe),,,,示,例,例项,目,目名,可,可自,己,己设,定,定,,这,这里,为,为mditest,。,。,56,接下,去,去的step-1,的,的选,项,项中,,,,创,建,建的,程,程序,类,类型,选,选择Multipledocuments,(,(多,文,文档,),),,其,其余,选,选项,使,使用,缺,缺省,值,值。,Document/View architecture support?(,文,文档/视,图,图结构支,持,持)选项,缺,缺省已经,是,是选中状,态,态。这一,项,项如果不,选,选中,则,程,程序运行,时,时不支持,文,文档的打,开,开/保存,操,操作(需,要,要文档/,视,视图结构,支,支持才有,效,效)。,语言支持,选,选择中文,。,。,57,图10MFCAppWizard-Step 1,58,图11MFCAppWizard-Step 2,这,这一步,选,选择数据,库,库支持,,当,当前示例,程,程序不需,要,要。,59,图12MFCAppWizard-Step 3,这,这一,步,步选择混,合,合文档和ActiveX支,持,持,当前,示,示例程序,只,只需要支,持,持纯文本,文,文档。为,求,求简化,ActiveXControls,支,支持也可,以,以不要。,60,图13MFCAppWizard-Step 4,这,这一步,选,选择用户,界,界面特性,,,,例如标,准,准工具栏,、,、状态条,、,、打印以,及,及预览、,上,上下文敏,感,感帮助、3D风格,等,等。第二,部,部分选择,工,工具栏风,格,格。第三,部,部分是选,择,择文件菜,单,单中的最,近,近使用文,件,件列表中,显,显示的文,件,件数量。,61,图14MFCAppWizard-Step 5,这,这一步,选,选择程序,以,以及代码,风,风格。第,一,一项是程,序,序风格,MFC标,准,准风格和Windows浏,览,览器风格,。,。第二项,是,是询问是,否,否需要为,程,程序代码,生,生成一些,说,说明文字,。,。第三项,是,是选择希,望,望使用的MFC版,本,本(动态,连,连接版或,者,者静态),。,。,62,图15MFCAppWizard-Step 6,这,这是最,后,后一步,,允,允许用户,在,在这里更,改,改各文件,名,名和类名,。,。在上面,的,的类列表,中,中选中一,个,个类,下,面,面显示的,就,就是相应,的,的类名、,头,头文将名,、,、基类和,实,实现文件,名,名。这里,为,为了使文,档,档可编辑,,,,将CMditestView的基,类,类改为CEditView,。,。完成后,点,点击Finish,完,完成向导,。,。,63,图16,项,项目,信,信息,显,显示用,户,户在前,面,面各步,所,所作选,择,择,点,击,击OK,完,完成,,否,否则Cancel重,新,新选择,。,。,64,图17,项,项目,文,文件列,表,表,根,根,据,据用户,选,选择,VC已,经,经生成,了,了所需,的,的全部,文,文件。,这,这个程,序,序已经,可,可以运,行,行,运,行,行结构,就,就是图2所示,的,的效果,。,。程序,已,已经具,有,有标准,的,的打开,、,、编辑,、,、保存,以,以及打,印,印等功,能,能,而,我,我们没,有,有添加,一,一行代,码,码。,65,4.,自,自己添,加,加代码,的,的sayhello,程,程序,这部分,我,我们演,示,示一个,对,对话框,程,程序,,添,添加一,些,些标准,控,控件,,并,并添加,代,代码控,制,制程序,的,的行为,。,。,新建project,,,,名称,为,为sayhello,,,,利用AppWizard,,,,只需,要,要在指,定,定程序,类,类型为Dialog-Based,之,之后,,就,就可以,点,点击Finish,,完,完成程,序,序框架,。,。,程序界面如,右,右上图。,点击提示按,钮,钮,弹出提,示,示框显示文,本,本框中字符,串,串如右下图,;,;点击添加,按,按钮,文本,框,框中字符串,添,添加到列表,中,中(如果不,重,重复的话),;,;点击取消,关,关闭整个窗,口,口。,图18,66,图19 框,架,架创建后的,编,编辑区,根,根据,用,用户选择,VC已经为,我,我们生成了,所,所需的程序,框,框架。这里,要,要编辑的主,要,要是sayhello,主,主窗口,已,经,经生成的有,一,一个静态文,本,本,两个按,钮,钮。右边的,控,控件窗口显,示,示一些标准,窗,窗口控件,,可,可以通过拖,放,放操作添加,到,到窗口。,67,图20编辑,控,控件属性,右,右,键,键点击某控,件,件,选择Properties,,弹,弹出该控件,的,的属性设置,窗,窗口,如图,。,。可以设置,控,控件标题(caption)、可,见,见性、对齐,等,等属性,这,些,些属性、风,格,格设置分布,在,在三个页(General、Styles、Extended Styles,),)上。这里,我,我们主要需,要,要设定的是Caption,设置,为,为:What doyou want to say?,68,图21 完,成,成界面设置,保,保,留,留原来的取,消,消按钮,删,除,除确定按钮,,,,添加两个,按,按钮和一个ComboBox控,件,件,属性中Styles页设置情,况,况如图。通,过,过拖放、对,齐,齐操作后完,成,成界面构造,如,如图。其中,几,几个控件的,对,对齐可以通,过,过选中多个,控,控件后右键,菜,菜单中相关,的,的Aligh选项实现,。,。,69,图22 设,置,置成员变量,名,名,点,点中某一控,件,件,右键菜,单,单中选择ClassWizard,进,进行类设置,。,。在Member Variables(成,员,员变量页),选,选择CSayhelloDlg(,代,代表主窗口,),)类,设置,三,三个按钮和,一,一个ComBox的变,量,量名如图(,通,通过双击相,应,应条目编辑,),)。注意这,里,里Category选,择,择Control,变,量,量类型也正,确,确指定。这,样,样在代码中,就,就可以通过,这,这些名字引,用,用相应控件,对,对象。,70,图23添加,消,消息映射方,法,法,仍,仍然是,在,在ClassWizard中,这,里,里添加相应,对,对象的消息,处,处理方法。Classname,中,中指定要处,理,理的类,这,里,里是主窗口,类,类CSayhelloDlg,选,择,择IDADD对象(“,添,添加”按钮,),)和BN_CLICKED消息(,单,单击),然,后,后点击Add Function,,,,指定方法,名,名后,相应,的,的消息处理,方,方法框架就,生,生成了。,71,图24添加,消,消息映射方,法,法,在,在上一,步,步中点击Edit Code,编,辑,辑“添加”,按,按钮单击消,息,息的处理方,法,法代码。添,加,加的代码如,图,图,主要过,程,程是获取ComBox,输,输入框字符,串,串,判断是,否,否为控,以,及,及ComBox中是否,已,已存在此字,符,符串,如果,不,不存在则添,加,加并将光标,定,定位于第一,项,项。代码中,的,的TODO,注,注释是生成,框,框架时自动,生,生成的。,72,图25添加,“,“提示”按,钮,钮单击方法,与,与“,添,添加”按钮,类,类似的添加,“,“提示”按,钮,钮的单击消,息,息处理方法OnShow,代码如,图,图。完成的,操,操作是取得ComBox文本输入,内,内容并跳出,一,一个提示窗,口,口显示该字,符,符串。,73,5. 结束,语,语,如第4部分,这,这样一步步,操,操作就完成,了,了一个窗口,程,程序,编译,链,链接后就可,以,以得到可执,行,行程序。,更加复杂的,窗,窗口程序可,以,以用相似的,过,过程得到,,使,使用的应用,程,程序框架也,与,与此类似。,只,只是可能会,用,用到更多更,复,复杂的MFC类,需要,用,用户根据实,际,际需要继承,或,或引用各种MFC类,,处,处理这些类,之,之间的关系,。,。还有可能,需,需要在派生,类,类中改写虚,拟,拟函数或者,添,添加新的成,员,员函数。,总之,在,在ApplicationFramework,框,框架,下,下,,你,你可,以,以以MFC类,库,库为,材,材料,来,来源,创,创造,出,出符,合,合各,种,种需,要,要的,应,应用,程,程序,。,。,各种,相,相关,类,类信,息,息可,以,以通,过,过MFC,类,类库,手,手册,以,以及MSDN,文,文档,得,得到,。,。,使用,方,方法,结,结束,74,演讲,完,完毕,,,,谢,谢,谢观,看,看!,
展开阅读全文