加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 VC++

VC++.pdf

VC++

jackygood
2012-01-04 0人阅读 举报 0 0 暂无简介

简介:本文档为《VC++pdf》,可适用于IT/计算机领域

前言VisualC是开发运行于Windows和WindowsNT环境下的Win应用程序的可视化编程工具中最重要的成员之一它为软件开发人员提供了完整的编辑、编译和调试工具和建立于WinAPI(ApplicationProgrammingInterface)基础上的MFC类库(MicrosoftFoundationClassLibrary)从而有效的缩短了Windows应用程序的开发周期。Windows操作系统本身大部分是使用CC语言写成的而VisualC正是使用CC语言的Win应用程序集成开发环境因此使用VisualC来进行Windows应用程序的开发便有着得天独厚的优势学习和掌握VisualC也自然地就成为了广大程序设计和开发人员的迫切需要。然而尽管VisualC使用了CC语言由于Windows应用程序和过去所熟悉的DOS程序在运行机制上的不同以及可视化编程工具和常规的程序开发语言在使用上的差异再加上VisualC本身的博大精深以至于不少由普通的C或C语言转移到VisualC开发环境的程序开发人员感到不适应。本书以具有CC语言基础的读者为对象深入浅出地阐述使用VisualC进行程序开发所需要的基本知识和技巧。全书共分为十三章涵盖了三个部分的内容:第一部分包括第一章到第三章。这一部分介绍了使用VisualC进行Windows程序开发的必备知识其中第一章:“VisualC简介”介绍了VisualC的新增特性MicrosoftDeveloperStudio集成开发环境的使用和定制以及如何从VisualC的在线文档中获得所需的资料和信息。通过这一章读者可以对VisualC及其所使用的集成开发环境有一个大致的了解以为使用VisualC开发应用程序打下必要的基础。第二章:“面向对象编程与C语言”试图分析和介绍一些在使用C语言进行面向对象的程序开发的过程中所常见的问题而不是对C语言的完整的讲述。在这一章中我们旨在通过指出一些可能引起程序出错的语言问题来避免读者的编程的过程中犯同样的错误。第三章:“Win应用程序设计”讲述了使用SDK和API进行位Windows应用程序设计的基本知识这些知识是正确理解MFC的工作方式的重要基础。第二部分包括第四章到第八章。这一部分介绍了如何使用VisualC来设计Windows应用程序的用户界面其中第四章:“基于对话框的应用程序”以基于对话框的应用程序为例讲述MFC应用程序框架、应用程序类以及应用程序的消息映射和对话框类等关于MFC的基本概念。第五章:“响应用户命令”讲述一般的菜单命令、工具条按钮命令和快捷键命令的响应和处理。此外我们在本章了也附带讲述了两种Windows控件滑块控件和进度条的消息处理。第六章:“使用Windows标准控件”讲述了几种标准的Windows控件的使用。我们并没有在这一章中涵盖了所有的Windows标准控件而只是选取了其中一些具有代表性的来讲述并希望通过它们来阐述使用Windows标准控件的一般方法。第七章:“使用ActiveX控件”讲述如何使用新的ActiveX控件来增强应用程序的功能。作为示例我们使用了功能强大的多媒体控件ActiveMovie来完成了一个可以打开多种媒体文件的视频播放器。第八章:“文档视结构”讲述了如何在基于文档的应用程序中使用MFC的文档视结构这种结构通过将文档中数据的维护和与用户的接口相分离从而使得程序的结构更加合理更便于维护同时也便于实现一些有用的特性如同一文档的多个视的同步更新等。第三部分包括第九章到第十三章在这一部分中我们挑选了Windows下的一些编程课题来进行了一些一般性的讨论。其中第九章:“图形设备接口”讲述了如何通过Windows的设备上下文来使用画笔、刷子及字体等多种绘图对象来进行图形的绘制和输出。在讲述的过程中我们还介绍了一些很有用的编程技巧如使用路径和剪辑区域来绘制特殊效果等。第十章:“MFC通用类”介绍了MFC通用数据类型它们包括集合类、字符串类和日期及时间类等。这些通用类使用MFC应用程序的数据管理和使用更加方便。第十一章:“异常处理和诊断”介绍了如何处理程序中出现的异常事件和使用MFC的诊断服务来检查程序中的错误这些方法对于创建健壮的和无错的应用程序十分必要。第十二章:“多线程”介绍了位编程中线程和进程的概念以及如何充分使用Win环境下的多任务功能。第十三章:“动态链接库”介绍了动态链接库的创建和使用以及如何使用动态链接库来扩展MFC等。熟悉MFC类库的内容和WinAPI中的有关函数是快速高效地进行Win程序设计的必要条件然而一般情况下我们不可以记住数千个函数的功能和用法由于本书篇幅有限在每一章中也不可能面面俱到。立足于初中级VisualC编程人员的实际需要作者在本书中努力介绍一些实用的编程技巧指出一些大多数人在编程时可能犯的错误而不是全面的概括性的讲述MFC和Windows程序设计(当然本书中出于完整性的考虑仍有少量的这一类的概括性文字)。这本书不是供查阅各个函数和类方法的使用的参考手册也不是一本C的教科书它完全立足于VisualC的使用者力图将他们引入编程的乐趣中来。“大而全”不是本书的目的“少而精”才是我们所力图追求的。我们希望通过本书的学习不仅能够让一位对VisualC少有所知的C程序开发人员学会熟练的使用VisualC进行Win应用程序的开发而且对于初中级VisualC程序员也能够从本书中找到一些值得一看的内容。因此本书可能会对MFC中的一些内容略去不谈但有时候可能会因为需要实现一些有趣的特性而深入到MFC的内部或者绕过MFC而直接使用WindowsAPI这些都体现我们在实际编程中所遇到的真实情况应用程序的需求有可能多种多样其实现方式也不可能是千篇一律。完整地介绍VisualC的方方面面不可能同时也不应该是本书的宗旨本书的任务在于教会读者如何在VisualC中使用以“我”为中心的方式来开发Windows应用程序。在本书中使用的示例代码都进行了精心的选择细心的进行了编写和调试这也导致了本书的完稿时间一拖再拖。这里我要感谢本书的编辑是他一次又一次的容忍我使用相同的理由来推迟交稿的时间。此外还需要感谢和我一同具有我正在使用的这台计算机的几位伙伴是他们我才得以以“独占”方式使用所有的系统资源来完成本书。必须感谢两位朋友的帮忙否则这本书即使推迟交稿也不可能完成。在最后的紧要关头刘斌编写了本书的第十章、第十一章和第十二章赵仕健编写了本书的第五章和第八章此外他还替我修改了第四章并增加了一些很有用的内容可惜的是他的一些优秀的工作成果毁于一次意外事故中在那次意外中位于硬盘的数据一夜之间便消失得无影无踪了。尽管我们细致的对书中的每一行程序进行了反复的调试但是仍有可能在最后的一刻还包含着被未被虑及的问题。此外在将DeveloperStudio中的过程粘贴到Word文档的过程中也有可能出现不该有的笔误(确切的说是敲错了键)和疏漏。我们努力避免发生这种情况但是即使它的概率为零仍有可能发生这就需要读者来批评指正了。作者一九九八年七月目录前言第一章VisualC简介第一节VisualC和MFC的历史*第二节VisualC的版本及新特性*第三节VisualC的新特性*第四节DeveloperStudio的使用*第五节获得帮助*第六节自定义DeveloperStudio*第二章面向对象编程与C语言第一节面向对象的编程技术*第二节类的声明和定义*第三节类的继承*第四节多态与虚函数*第五节ClassView和WizardBar*第三章Win应用程序设计第一节事件驱动的应用程序*第二节WinAPI和SDK*第三节使用SDK编写Windows应用程序*第四节位编程的特点*第四章基于对话框的应用程序第一节使用AppWizard生成应用程序框架*第二节应用程序类*第三节MFC应用程序的消息循环*第四节对话框类*第五节小结*第五章响应用户命令第一节菜单消息响应*第二节工具条*第三节快捷键消息响应*第四节滑块控件消息响应*第五节进度条消息响应*第六节上下控件消息响应*第六章使用Windows标准控件第一节使用对话框编辑器和ClassWizard*第二节所有窗口类的基类:CWnd*第三节按钮*第四节静态控件*第五节文本编辑控件*第六节列表框控件*第七节组合框*第八节滚动条控件*第七章使用ActiveX控件第一节什么是ActiveX控件*第二节使用ActiveXMovie控件的视频播放器*第八章文档视结构第一节文档视结构概述*第二节使用AppWizard创建框架应用程序*第三节生成文档*第四节生成视*第五节视类*第六节同一文档的多个视*第七节添加对多文档类型的支持*第九章图形设备接口第一节设备上下文*第二节画笔对象*第三节刷子对象*第四节字体对象*第五节映射模式*第十章MFC通用类第一节数组类*第二节列表类*第三节映射类*第四节字符串类*第五节日期和时间类*第十一章异常处理和诊断第一节处理C异常*第二节MFC异常*第三节诊断服务*第十二章多线程第一节创建线程*第二节线程间通信*第三节线程同步*第十三章动态链接库第一节概述*第二节创建和使用动态链接库*第三节使用动态链接连库扩展MFC*附表MFC类库层次表附表ASCII码表(~)附录虚拟键码第一章VisualC简介只要提到在Windows和WindowsNT下进行位的应用程序开发就不能不提到VisualC。相比其它的编程工具而言VisualC在提供可视化的编程方法的同时也适用于编写直接对系统进行底层操作的程序其生成代码的质量也要优于其它的很多开发工具。随VisualC所提供的Microsoft基础类库(MicrosoftFoundationClassLibrary简写为MFC)对WindowsNT所用的Win应用程序接口(WinApplicationProgrammingInterface)进行了十分彻底的封装这使得可以使用完全的面向对象的方法来进行WindowsNT应用程序的开发从而大量的节省了应用程序的开发周期降低了开发成本也使得Windows程序员从大量的复杂劳动中解救出来相信随着对VisualC了解的逐步深入你会亲自感受到这一点。VisualC使Windows编程不再深奥和晦涩而是一件有意义并且有趣的事情而且你并没有因为获得这种方便而牺牲应用程序的性能。在本章中我们将讲述:lVisualC和MFC历史lVisualC的不同版本和它们的区别lVisualC的新特性lVisualC集成开发环境的使用第一节VisualC和MFC的历史VisualC的核心是Microsoft基础类库即通常所说的MFC。尽管使用VisualC进行编程并不一定要使用MFC使用MFC也不一定就要使用VisualCBorlandC的新版本也提供了对MFC的支持然而事实上在很多情况下我们提到VisualC时指的就是MFC而提到MFC时指的也就是VisualC。因此当你看到关于VisualC或是MFC的资料时要知道在绝大多数情况下它们都是指同一样东西。MFC相当彻底的封装了Win软件开发工具包(SoftwareDevelopmentKit即通常所说的SDK)中的结构、功能它为编程者提供了一个应用程序框架这个应用程序框架为编程者完成了很多Windows编程中的例行性工作如管理窗口、菜单和对话框执行基本的输入和输出、使用集合类来保存数据对象等等并且MFC使得在程序中使用很多过去很专业、很复杂的编程课题如ActiveX、OLE、本地数据库和开放式数据库互联(OpenDatabaseConnectivity简写为ODBC)、Windows套接字和Internet应用程序设计等以及其它的应用程序界面特性如属性页(也叫标签对话框)、打印和打印预览、浮动的和可定制的工具条变得更加的容易。早在年Microsoft的程序员们开始试图将C和面向对象的编程概念应用于Windows编程中以编写出一个可以使Windows编程更加简便的应用程序框架。他们把这个应用程序框架叫做AFX(AFX这个词来源于ApplicationFramework但奇怪的是这个词组中并没有包含“X”这个字母)。直到今天AFX小组早已不存在了AFX这个名称也于年初不再使用但在VisualC和MFC中AFX的影子却随处可见很多全局函数、结构和宏的标识符都被加上了AFX的前缀。最初的AFX版本在经过一年的艰苦之后诞生却未能被大多数Windows程序员所接受。AFX的确是经过了精心的规划和编码并且它也提供了对WindowsAPI的高度抽象建立了全新的面向对象的AFXAPI但最要命的是AFXAPI库根本不兼容于现有的WindowsAPI。由此导致的最严重后果是大量的SDK代码无法移植而程序员将学习两种完全不同的编程方法。AFX不得不重新做所有的一切他们所创建的新的应用程序框架是一套扩展的C类它封装和映射了WindowsAPI这就是MFC的前身。过去的AFX小组也变成了MFC小组。最终MFC的第一个公开版本于年月随MicrosoftCC(而不是VisualC)一起推出。那时距Windows发布尚有好几个月。在MFC中还没有文档视结构但有类CObject和CArchive。在个月之后MFC随Microsoft新的编程工具VisualC一道出炉。与MFC一样MFC仍是位的因为位的WindowsNT直到年月才问世。在MFC中增加了对文档视结构、OLE、Windows公用对话框的支持和消息映射等。在WindowsNT面世一个月以后Microsoft推出了版本的VisualC和MFC它实际上是MFC的Win接口。最后一个位的VisualC编译器是年月推出的VisualC直到今天一些为Windows编写位应用程序的程序员还在使用这个版本。年月位的MFC伴随着VisualC的一道面市在今天的计算机图书市场上还有着的大量的关于VisualC和MFC的图书出售因此你可以想象得出VisualC所取得的成功和它所产生的影响。并不象你预想的那样在VisualC中包括的MFC版本不是MFC而是MFC。发展到今天MFC已发展成一个稳定和涵盖极广的C类库为成千上万的Win程序员所使用。MFC库是可扩展的它和Windows技术的最新发展到目前为止始终是同步的。并且MFC类库使用了标准的Windows命名约定和编码格式所以有经验的WindowsSDK程序员很容易过渡到MFC。MFC结合了WindowsSDK编程概念和面向对象的程序设计技术从而具有极大灵活性和易用性。第二节VisualC的版本及新特性VisualC是Microsoft于年月推出的最新的VisualC编译器它包括三个版本。各个版本之间的区别如表所示:第三节VisualC的新特性如果你没有使用过VisualCx或者虽然使用过VisualCx但对它还不是非常之熟悉那么你可以跳过这一节的内容继续阅读本书的其它内容。在这一节里列举了VisualC中新增的所有特性这些内容对熟练掌握了VisualCx的程序员来说是很有用处的他们可以通过阅读本节了解到VisualC所做的改进从而知道自己应该补充的是哪一方面的内容。而对于VisualC的初学者和刚入门者来说了解这些内容就不是那么有必要了尤其是当你急切地想进入VisualC的编程实践中去的时候。表VisualC的不同版本版本特点学习版(LearningEdition)除了代码优化、剖析程序(一种分析程度的运行时行为的开发工具)和到MFC库的静态链接外VisualC学习版提供了专业版的其它所有功能。学习版的价格要比专业版本低很多这是为了使希望使用VisualC来学习C语言的个人也可以负担得起。但你不可以使用VisualC学习版来开发供发布的软件其授权协议明确禁止这种做法。专业版(ProfessionalEdition)VisualC可用来开发Win应用程序、服务和控件。在这些应用程序、服务和控件中可使用由操作系统提供的图形用户界面或控制台API。企业版(EnterpriseEdition)可用来开发和调试为Internet或企业内网(intranet)设计的客户服务器应用程序。在VisualC企业版还包括了开发和调试SQL数据库应用程序和简化小组开发的开发工具。下面我们分版本来讲述VisualC相对于上一个版本所新增加的内容:()专业版在VisualC专业版中包括如下的新增特性:C语言l新增下列C关键字:bool、explicit、false、mutable、true和typename。l允许使用declspec来声明指定的存储类属性是应用于某一类型还是某一类型的一个变量。编译器、链接器和NMAKEl编译器添加了对COM的支持从而简化了使用COM对象的C客户的开发。为了演示如何使用该特性来支持COM新增了如表所示的示例程序。表为演示编译器对COM的支持而新增的示例程序续表示例程序演示内容ACDUALMFC应用程序中双界面的支持INPROC进程内自动化服务器MFCCALC使用自动化服务器实现的一个简单计算器COMEXCEL单独运行的自动化客户程序。该程序创建一个新的MicrosoftExcel电子表格并生成饼图。COMIDE单独运行的自动化客户程序。该程序自动操纵MicrosoftDeveloperStudio示例程序演示内容COMMAIL单独运行的自动化客户程序。该程序为MicrosoftExchange自动操纵了MAPICOMMMAP不同COM接口入口映射宏的使用l使用O选项编译生成的代码大小将比VisualC版小到。l链接器使用了FIXED选项来创建更小的供发行的应用程序。因此在使用剖析程序时由于需要重定位信息链接器必须使用PROFILE和FIXED:NO选项。这同样适用于其它如BoundsChecker或Purify之类的链接后(postlink)工具。l新增的EH编译选项可以更有效的控制C异常处理。C同步异常处理允许编译器生成更小的代码因此它是VisualC新的默认C异常处理模式。l对用来控制代码优化所面向的处理器的编译器选项G、G、G、G和GB作了修改。l将GX编译器选项映射为EHsc。l允许使用链接器选项PDBTYPE指定包括调试信息的程序数据库(PDB)。该选项可以节省磁盘空间并加快链接。l在NMAKE中支持批处理规则。AppWizardl新的AppWizard可以自动管理基于对话框的应用程序中的对话框类。只需要简单的创建一个基于对话框的应用程序并选择对自动化的支持就可以象早期版本的AppWizard一样得到一个支持基本自动化的基于对话框的应用程序。通过单独的代理类对话框类也可以通过自动化导出。你可以添加方法和属性来导出对话框中的元素。l定制的AppWizard可以改变工程创建时的设定。例如你可以在目标创建之后调整编译器、链接器和查看设定或者添加定制的创建步骤。LABRADORATL的使用。该程序实现了一个没有用户界面的EXE服务器FRETHREAD使用编译器的COM支持编写多线程客户程序和自由线程服务器ALLINONEMAC、STL、ATL和COM的使用MFClasynchronous(URL)moniker允许应用程序异步的下载文件和控件属性以便在任务完成后为其它进程释放系统资源。l可以在Web浏览器(如InternetExplorer)或支持ActiveX文档的OLE容器(如MicrosoftOfficeBinder)的整个客户区显示活动的文档。lWinInternetAPI(WinInet)使Internet成为任意应用程序的一个完整部分并简化了Internet服务如FTP、HTTP和gopher的访问。l增加了对DAO的支持。l增加了对ODBC的支持并对MFCODBC类作了几个重要的修改。lCOleDateTime成员函数SetDate、SetDateTime、SetTime的返回值从BOOL改变为int。每一个成员函数当COleDateTime对象被正确设置时返回否则返回。该返回值基于DateTimeStatus枚举类型。l新增示例程序IMAGE。该程序生成一个可以异步下载数据的ActiveX控件。ActiveTemplateLibrary(ATL)lATL版支持创建既小又快的ActiveX控件。CRuntimeLibraryl新增的函数itoa、itoa和uitoa将数据转换为一个以结尾的字符串。所对应的宽位字符版本为itow、itow和uitow为itoa、itoa和uitoa。l改善了下列的通用浮点超越函数的性能:pow、sqrt、log、log、sin、cos、tan、asin、acos、atan。l改善了内存移动和内存拷贝函数的性能。ANSI标准C库lVisualC的标准库遵从年月日公布的ANSIC(XJ)工作单ANSIDocNoXJWGN。该标准于年月在Stockholm会议上制定。OLEDBlOLEDB是一组OLE接口它使应用程序可以以统一的方式访问保存在不同信息源中的数据。这些接口支持适合于数据源的大量数据库功能性并允许数据源共享其数据。所配套的OLEDB软件开发工具包所提供的一组软件部件、工具和文档可以在开发OLEDB客户和提供程序提供帮助。ERRLOOK工具lERRLOOK工具可以使用系统错误的值来检索相应的错误消息其中包括OLEHRESULT。错误值可以通过包括拖放、编辑命令等的多种方法给出。由ERRLOOK所返回的错误消息文本可以复制并粘贴到其它应用程序中。除了以上新增特性之外在VisualC光盘上的DEVSTUDIOVCSAMPLES目录下还包括了一些新增的示例程序。()企业版除包括专业版中的所有特性外VisualC企业版还包括下列特性以支持企业级应用程序的开发:lMicrosoftTransactionServer(Microsoft事务服务器)用于创建基于事务的应用程序。lVisualDatabaseTools(可视化数据库工具)提供了数据库和SQL查询的图形化设计。l调试数据库连接时具有更好的性能该进程将比过去快上很多。l扩展的SQL数据类型支持使你可以方便的将本地变量变为除text和image外的所有SQL数据类型。这种变换包括money类型和datetime类型。可以在本地变量和值之间相互变换。还可以方便的查看包括text和image在内的所有SQL数据类型。l在光盘上的DEVSTUDIOVCSAMPLES目录下包括了特定于企业的版的新增示例程序。()学习版VisualC学习版包括了学习CC和使用MFC、OLE、ODBC、DAO、ActiveX和COM的各种工具但不包括下面的特性:l到MFC的静态链接使用VisualC学习版编写的应用程序只能在运行时链接到MFC动态链接库。l代码优化不能使用O选项来生成更小和更快的代码。l程序剖析不能使用剖析程序来分析程序代码中的某一部分是否可以从性能改进中获益。lRemoteData控件及其它的数据绑定控件除了上面的内容外VisualC学习版包括专业版中的其它新特性。()集成开发环境MicrosoftDeveloperStudio用于VisualJ、VisualInterDev、VisualC和MSDN。新的DeveloperStudio包括以下的新特性:l自动化和宏可以使用VisualBasic脚本来自动操纵例行的和重复的任务。可以将VisualStudio及其组件当作对象来操纵还可以使用DeveloperStudio对象模型创建集成的附加程序。lClassView使用文件夹来组织C和Java中的类包括使用MFC、ATL创建或自定义的新类。l可定制的工具条和菜单l连接到正在运行的程序并对其进行调试还可以使用宏语言来自动操作调试器。l可以在DeveloperStudio中查看Internet上的WorldWideWeb页。l可以在一个工作空间中包括多个不同类型的工程工作空间文件使用扩展名dsw来代替过去的扩展名mdp工程文件使用扩展名dsp来代替过去的扩展名mak。l改进的资源编辑器在VisualC中可以使用WizardBar来将代码与程序中的可视元素挂钩。快捷键、二进制、对话框和字符串编辑器支持定位至快捷键、ASCII字符串、十六进制字节串、控件ID和标签及指定字符串的Find命令更方便的一次修改多个项(可以快捷键、对话框、菜单和字符串)的属性。l改进的文本编辑器可以使用正确的句法颜色设置来显示无扩展名的头文件。可以定制选定页边距的颜色来更好的区分同一源代码窗口中的控件和文本区域。FindinFiles命令支持两个单独的窗格。l上下文相关的What’sThis帮助l改进了的WizardBar可用于VisualJ。l新增的向导添加了集成到VisualJ和VisualInterDev中的新增向导。第四节DeveloperStudio的使用在一整套的VisualStudio中VisualC、VisualJ和VisualInterDev都使用同一个开发环境称作DeveloperStudio。你将在DeveloperStudio中创建所开发的应用程序的源文件、各种资源文件及其它文档。这些文件以工作空间和工程的形式进行组织。DeveloperStudio中一次只能打开一个工作空间在同一个工作空间中可以包括多个工程一般来说每一个工程你所开发的一个应用程序。这些工程相互之间可以具有某个联系和从属关系也可以彼此完全独立。此外这些工程还可以是不同类型的比如说你可以在一个已经包括有一个VisualC工程的工作空间中添加一个VisualJ或是VisualInterDev工程。工程中除了包括了应用程序所用到的源文件、资源文件外还可以包括其它类型的文件如应用程序的规格说明书、流程图、开发日程等等。对于那些由ActiveX部件(如MicrosoftWord等)所创建的ActiveX文档可以在DeveloperStudio中直接打开。而对于那些与其它类型的应用程序相关联的文档你也可以通过DeveloperStudio在独立的窗口的打开。DeveloperStudio所包括的内容是很丰富的。本节只讲述一些基本的概念和用法。这些用法是进行下一步所不可缺少的。对一些特殊的用法我们将在本书后面的章节中需要用于再作说明。由于本书假定你已经是一个熟练的WindowsNT用户因此安装VisualC的过程对于你来说应该是一个相对很容易的事所以我们不再在这个问题上浪费时间。下面的过程中我们假定你已在你的计算机中安装上了VisualC在一般情况下这同时也安装了DeveloperStudio并以它作为VisualC的集成开发环境。这时从你的开始菜单中运行VisualC屏幕显示应该如图所示。图还标注了DeveloperStudio中的几个常提到的部件的名称以使得当以后我们提到这些名词时你可以知道它们所指的是DeveloperStudio中的哪一部分。图MicrosoftDeveloperStudioVisualC的集成开发环境当然你所看到的内容和工具条等也许会有少许的不同这取决于你的设置。下面我们来讲述其中的主要部分。我们看到在DeveloperStudio整个窗口被分成了若干个部分需要注意的事随着设置的不同或者所安装的软件包的不同或者是处于开发的不同阶段(典型地在输入源代码和调试程序的两个不同阶段)你所见到的DeveloperStudio组件和相互之间的位置也会不一样。前面说到过在DeveloperStudio中我们是以工作空间(workspace)和工程(project)来组织文件和进行工作的。工作空间位于这个结构的最顶层因此我们首先需要创建一个工作空间。创建工作空间通常有两种方法:第一种方法是显式的创建一个空白的工作空间然而向工作空间中添加工程。这时我们从DeveloperStudio的File菜单下选择New命令这时出现如图所示的对话框。这时我们在Workspacename处键入工作空间的名字这里假设为WorkSpc则DeveloperStudio将在Location所指定的目录下创建名为WorkSpc的子目录(当在Workspacename处键入完工作空间名后可以在Location处修改这个默认设置)然后以WorkSpcdsw的文件名将该工作空间保存到这个目录下。第二种创建工作空间的办法时直接创建一个工程。创建一个新的工程同样是选择File菜单下的New命令在类似于图的对话框中单击Project选项卡如图所示。然后在该对话框中选择Createnewworkspace单选钮(这是DeveloperStudio的默认选项)。注意在图所示的对话框中Projectname和Location的意义和图中的Worksapcename和Location的意义类似。这样在创建工程时DeveloperStudio将创建一个同名的工作空间。然后将所创建的工程添加到该工作空间中。图创建空白工作空间如果仅在工作空间中包括一个工程的话使用第二种方式显然是很合理的并且也要比使用第一种方式创建空白工作空间然后再在空白工作空间中添加工程的方法要简洁和方便。在今后的很多情况下我们都将使用第二种方式来创建工程和包括工程的工作空间。但并不是说第一种方式就没有用处了。事实上在第二种方法中DeveloperStudio将工作空间和工程保存到Location所指定的同一个目录下这对于单个工程的工作空间是合理的。但如果你希望在工作空间中包括多于一个的工程的话你也许希望在保存工作空间的目录下新建子目录来保存这些工程因为这样更有条理更利于文件的管理。这时我们就需要使用第一种方式来创建空白工作空间然后再在这个工作空间中新建和添加工程。在工作空间中新建工程的方法和上面的第二种方式几乎一样。只不过这时我们应该在图所示的对话框中选择Addtocurrentworkspace(在图中这个单选钮是灰的这是因为当前并没有打开的工作空间的缘故)。要注意这时Location处的目录名是基于当前工作空间所在的目录的。单击OK后DeveloperStudio根据在Projectname处所键入的工程名以dsp的扩展名来保存该工程文件。图创建一个新的工程l注意:l本节不讨论那些由DeveloperStudio和所集成的开发包(如VisualC、VisualJ和VisualInterDev)创建和管理的文档如源代码文件、资源文件等。对于使用这些文件的方法我们将在本书的其它章节中在需要用到的时候进行讲述。除了向工程中添加由DeveloperStudio和相应的开发包(如VisualC、VisualJ和VisualInterDev)管理的文件外还可以添加其它类型的文档这些文档包括分成两类一类由ActiveX部件创建和维护另一类由其它的软件创建和维护。DeveloperStudio在编辑这些文档时的行为是不同的。对于由ActiveX部件(最常见的ActiveX部件有MicrosoftWord和Excel等但是这里所指的ActiveX部件并不限于Microsoft的产品其它任何符合ActiveX部件标准的应用程序都是ActiveX部件)创建的文档你可以在DeveloperStudio窗口内部打开并编辑它们这时由该部件提供的菜单项融合进了DeveloperStudio原有的菜单项由该部件所提供的工具条取代了DeveloperStudio原有的工具条。并且所打开的文档显示于原有的InfoViewerTopic窗口所在位置(如图所示在这幅图中我们向工程Project中添加了一个新建的MicrosoftWord文档并在DeveloperStudio内部打开并编辑该文档)。这样你无需离开DeveloperStudio就可以查看和修改这些文档这就是ActiveX技术所带来的巨大方便之处。向工程中新建这类文档只需在图和图所示的对话框中选择OtherDocument选项卡然后指定新建的文档的类型并给出文档文件名即可(对于向工程中添加的文档必段指定文件名如果只是在DeveloperStudio中编辑该文档则不受此限)。如果是工程中添加已有的文档则必须保证这些文件的扩展名与文档的类型相符合因为DeveloperStudio是根据相应的文件扩展名来判断文档的类型和寻找创建和维护该文档的ActiveX部件的。如果添加由其它非ActiveX部件的软件创建和维护的文档也必须遵从这个约定。对于非ActiveX部件的软件创建和维护的文档在DeveloperStudio选择打开时DeveloperStudio将在另一个单独的窗口中打开该文档以供用户进行编辑。图向工程中添加并编辑Word文档在DeveloperStudio中的另一个重要的部分是Workspace窗口(请参见图)对于VisualC这个窗口一般包括四个选项卡(随着是否打开工程及打开工程的种类的不同你将看到的选项卡也许会少于四个请对比图和图):ClassView、ResourceView、FileView和InfoView分别用来查看工程的类信息、资源信息、文件信息和在线帮助文档。不论是否存在当前打开工程InfoView总是存在的并且可以通过InfoView得到当前所有安装的开发工具包的在线文档。比如你当前正在开发VisualC程序但你一样可以查阅VisualJ的在线文档。Output窗口用来显示各种输出信息如编译和链接信息、调试信息以及查找信息等。这些内容将在我们具体用到时再作讲述。第五节获得帮助随着应用程序越来越复杂程序员所需掌握的知识与越来越多然而在很多情况下我们几乎没有可能把所有的知识都记到大脑里。就以VisualC为例各种在线文档加到一起足足有多兆。因此我们无法想象如果没有在线文档的帮助开发应用程序的过程如何进行。对于一个开发工具来说在线文档做到是否完善是否易于使用成为衡量一个开发工具是好是坏的一个重要标准。值得庆幸的是VisualC在这方面堪称表率其在线帮助文档覆盖从最基本的C语言语法到最深奥和最新的各种编程技术几乎无所不有并且从全面而详尽的参考资料到系统的编程技术再到各种各样的示例程序和教程足以满足各个不同层次的编程者的需要。然而我们却常常听到这样的报怨:“VisualC的在线文档又多又杂我都快弄清头绪了。”的确是这样VisualC的在线文档在某些方面有些类似于WindowsNT的注册表在如此庞杂的文档中寻找某一个特定主题的资料对于编程者尤其是则接触VisualC的初学者来说并非是一件很容易的事。因此如何才能最有效的利用VisualC的联机帮助无疑是一个很值得探讨的课题。这也是本书的一大特色。在本书中我们对所讲述到的每一个内容都在该章节的末尾给出了在VisualC在线文档中的相关节点和可以进一步参考的内容。这样通过阅读本书你不但可以获得本书中已讲述的这些知识还可以通过本书所给的线索从VisualC的档案库中提取出所需要的各种文档这些文档加起来会是本书篇幅的很多倍。可以这样说从在线文档中快速地寻找到所需的各种资料的技能和你从本书中学到的编程技术方面的知识同等的重要因为任何一本几百页的书都不可能完整的包括VisualC的所有内容而几乎每一个实用的应用程序都会使用到一些特殊的编程获得这些特殊的编程所需要资料的唯一来源则是联机帮助中所包括的各种技术文档。因此在学习使用VisualC进行应用程序设计之前先学习一下如何从VisualC的集成开发环境DeveloperStudio中获得帮助是很有必要的。使用InfoView前面已经提到在Workspace窗口的InfoView选项卡窗格中包括了VisualC中每一份在线文档的树状结点列表。很多情况下我们正是从InfoView入手来一步一步地查找到所需要的各种资料的。因此我们有必要简单地了解InfoView中的结点的组织形式。由于InfoView中的树状结点的结构相当复杂我们这里仅列举一些编程者经常会光顾的节点。VisualCTutorials包括了六个示例教程:Scribble、ScribbleOLEServer、Container、AutoClik、Circle控件、Enroll和DAOEnroll这些示例分别讲述了MDI文档视应用程序、OLE服务器和容器、自动化、ActiveX控件和数据库访问等MFC编程的相关知识。其中的一些典型的实现方法具有相当的参考价值因此如果你有足够的时间并且愿意阅读这些英文教程的话相信是会有所收获的。VisualCProgrammer’sGuide(VisualC程序员参考)是最常访问的节点之一。这里提供了大多数的编程任务所需的知识。其中以下的几个子节点是最有用的:AddingUserInterfaceFeatures(添加用户界面特性)提供了完成你的应用程序界面设计所需的完整的参考。其内容涉及:窗口对象、对话框、属性页、控件、ActiveX控件、控件条(包括工具条、状态条和对话条)、工具提示、OLE(用户界面)、文档视、剪贴板、菜单、资源编辑器、打印和打印预览、上下文相关的帮助等。AddingProgramFunctionality(添加程序功能性)提供了实现特定的程序功能性所需的知识这些知识包括:内联汇编器、调用协议、类、C模板、Win编程、内存管理、多线程、MFC、MFC的基础基类CObject、字符串、多字节字符集(MBCS)、Unicode编程、集合类、日期和时间数据、异常处理、文件处理、串行化、消息和命令、代码重用、动态链接库、数据库、编译器COM支持、OLE、ActiveX、自动化及远程自动化、Windows套接字、Internet支持、MAPI支持等。每一程序员那怕是高手和编程天才都难免在程序包括这样或是那样的错误。如果想知道如何调试你的应用程序最有效率最能充分发挥VisualC和DeveloperStudio所提供的调试功能那么你需要访问VisualCProgrammer’sGuide下的子节点:Debugging(调试)。你知道了C或C的所有内容了吗?似乎很难有人敢于给以肯定的答案。那么你就有可能需要访问这个节点了。该节点提供了对C或C语言的快速参考这些说明的文字既简明又能说明问题。当你偶尔忘了某个CC语言问题时不妨垂询InfoView中的这个节点。RunTimeLibraryReference(运行库参考)提供了Microsoft运行库中的所有函数的参考信息。这些例程运行于Windows和WindowsNT环境下。其中的RunTimeRoutinesbyCategory给出的库函数的分类索引很方便查找实现某种功能所需的库函数。而AlphabeticFunctionReference以字母为序给出了每一个库函数的参考信息。MicrosoftFoundationClassReference(Microsoft基础类库参考)提供了MFC的完整的参考。除了包括所有的MFC类、全局函数、全局变量和宏外该节点下还包括了MFC的一些技术资料。可以把CCLanguageandCLibraries(CC语言和C库)当作前面的LanguageQuickReference的补充该节点对CC语言作了更深入和更详尽的阐述。VisualCSample(VisualC示例)节点包括了所有的示例程序可以通过该节点得到关于示例程序的简要说明拷贝示例程序的代码以及运行示例程序。但是如果你在机器上安装了MicrosoftInternetExplorer那么拷贝示例程序的功能不能正常使用。Platform,SDK,andDDKDocumentation(平台SDK和DDK文档)包括以下几个部分:lPlatformSDK(包括WinSDK中的所有文档资料)lActiveXSDKlDAOSDKlDirectXSDKlOLEDBProgrammersReference(OLEDB程序员参考大全)尽管这些东西看上去非常高深但相信只要你使用VisualC一段时间你就会遇上一些需要查阅上面这些技术文档的问题。使用上下文相关的帮助最常用的一种方法是通过上下文相关的帮助快速的获得所需的信息。打开上下文相关的帮助的快捷键是F。上下文相关的帮助可以用于多种场合:图从代码编辑器的获取上下文相关的帮助(步骤之一)图从代码编辑器中获取上下文相关的帮助(步骤之二)最常见的情况是从代码编辑器窗口可以获取与关键字、函数和类的相关的帮助其步骤如下:将当前插入符定位所需获取帮助的关键字、函数或类名及类成员名按下快捷键F。当与指定的关键字、函数或类及成员相关的帮助条目仅有一条时De

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/49

VC++

仅供在线阅读

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利