VC加加市公开课一等奖省赛课获奖课件_第1页
VC加加市公开课一等奖省赛课获奖课件_第2页
VC加加市公开课一等奖省赛课获奖课件_第3页
VC加加市公开课一等奖省赛课获奖课件_第4页
VC加加市公开课一等奖省赛课获奖课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VC++程序设计基础

第一章Windows编程和面向对象技术SchoolofComputerandCommunication.5VC加加第1页MicrosoftWindows是一个基于Intelx86微处理芯片个人计算机上含有图形用户接口多任务和多窗口操作系统,它是对MS-DOS操作系统扩展和延伸。VC加加第2页Windows优越之处:图形用户界面——它提供了比MS-DOS字符界面更为直观、友好图形用户界面;多任务——它能够一次运行多个程序,方便了用户操作,提升了机器利用率;应用程序界面一致——Windows环境下应用程序含有一致外观和用户接口,用户只需要熟悉其中一两个程序,就能够触类旁通学会使用别Windows应用程序;更加好虚拟内存管理;设备无关特征等等。VC加加第3页1.1Windows发展历史1970年,美国Xerox企业成立了著名研究机构PaloAltoResearchCenter(PARC),从事局域网、激光打印机、图形用户接口和面向对象技术研究。1981年Xerox企业宣告推出世界上第一个商用GUI(图形用户接口)系统:Star8010工作站。1983年AppleComputer企业于研制成功第一个GUI系统:AppleLisa。随即很快,Apple又推出第二个GUI系统AppleMacintosh,这是世界上第一个成功商用GUI系统。1983年春季Microsoft宣告开始研究开发Windows,希望它能够成为基于Intelx86微处理芯片计算机上标准GUI操作系统。VC加加第4页1.1Windows发展历史(续)在1985年和1987年分别推出Windows1.03版和Windows2.0版1990年5月份推出Windows3.0并一炮打红,不到6周,销出50万份Windows3.0拷贝,打破了任何软件产品6周销售统计。1990年推出Windows3.1,引入TrueType字体技术,这是一个可缩放字体技术,引入了一个新文件管理程序,增加对象链接嵌入技术(OLE)和对多媒体技术支持。

1995年推出新一代操作系统Windows95(又名Chicago),它能够独立运行而无需DOS支持。VC加加第5页1.1Windows发展历史(续)Windows95是操作系统发展史上一个里程碑式作品,它对Windows3.1版作了许多重大改进。1998年推出Windows98,对Windows95进行了部分改进。推出Windows2000,它是基于WindowsNT内核技术新一代操作系统。年11月推出WindowsXP,它是操作系统发展史上又一个里程碑式作品VC加加第6页WindowsXPProfessional(64)

新用户界面-使得查找所需要内容更轻易。一个可靠基础–让计算机在您最需要时候保持开机和运行。WindowsMediaPlayerforWindowsXP-在这一个地方即可查找、播放、组织和存放数字媒体。网络安装向导-在家即可轻松连接和共享计算机和其它设备。WindowsMessenger–顶级通信和协作工具,包含即时消息、语音和视频会议以及应用程序共享。高级膝上型计算机支持(包含ClearType支持、DualView、电源管理改进)-这么即使在路途上您也能够象在办公室中一样工作。无线连接-自动802.1x无线网络配置远程桌面–从另一台WindowsPC上远程访问您WindowsXPProfessionalPC,这么即使离创办公室您也能够使用您全部数据和应用程序。脱机文件和文件夹-在与服务器断开连接时可访问网络共享区中文件和文件夹。VC加加第7页1.1Windows发展历史(续)快速开启和电源管理改进-使开启和恢复工作所用时间更短。多任务-使多个应用程序能够同时运行。可伸缩处理器支持–最多可支持双向多处理器。Internet连接火墙-当您登录Internet时,可自动屏蔽对您计算机未授权访问。InternetExplorer6隐私支持-在访问Web站点时维护对您个人信息控制。加密文件系统-保护用NTFS文件系统存放在磁盘上文件所包含敏感数据。访问控制–限制对选定文件、应用程序和其它资源访问。VC加加第8页1.1Windows发展历史(续)中央管理-将WindowsXPProfessional系统加入到一个WindowsServer域中,以充分利用强大管理和安全工具。组策略-简化了用户或计算机组管理。软件安装与维护–自动安装、配置、修复或删除软件应用程序。漫游用户配置文件-不论在何处登录,都能够访问您全部文档和设置。远程安装服务(RIS)–支持远程操作系统安装,这种情况下桌面能够经过网络进行安装。VC加加第9页1.1Windows发展历史(续)WindowsVista,后PC时代华丽盛宴Vista不止是期望和挑战花费了5年多时间、前后投入了10000人次、并花费了靠近100亿美元之后,微软推出Vista对Vista人力和物力花费,恐怕就连当初制造了原子弹曼哈顿计划都没有那么夸大。毫无疑问,Vista历时和所花费用是史无前例,可能后继操作系统将极难再像Vista一样了——当人们对PC消费,更多是集中在互联网络而不是电脑本身时候,一款操作系统可能再也不会需要做到这么复杂了。VC加加第10页1.2Windows操作系统特点愈加优异、面向对象图形用户界面,从而减轻了用户学习负担;全32位高性能抢先式多任务和多线程;内置对Internet支持愈加高级多媒体支持(声音、图形、影像等),能够直接写屏并很好支持游戏;即插即用,简化用户硬件配置操作,并防止了硬件上冲突;丰富设备无关图形操作(图形设备接口(GDI))32位线性寻址内存管理和良好向下兼容性等等VC加加第11页1.3Windows应用程序设计特点传统面向过程程序主要采取次序、关联、过程驱动程序设计方法。一个程序是一系列预先定义好操作序列组合,它含有一定开头、中间过程和结束。程序直接控制程序事件和过程次序。这么程序设计方法是面向程序不是面向用户,交互性差,用户界面不够友好

它基本模型如右图所表示VC加加第12页1.3Windows应用程序设计特点(续)Windows编程以一个全新思维方式进行程序设计,主要表现为以下几点:1.事件驱动程序设事件驱动程序设计是一个全新程序设计方法,它不是由事件次序来控制,而是由事件发生来控制,而这种事件发生是随机、不确定,并没有预定次序,这么就允许程序用户用各种合理次序来安排程序流程。面向用户程序设计方法,它在程序设计过程中除了完成所需功效之外,更多考虑了用户可能各种输入,并针对性设计对应处理程序。VC加加第13页1.3Windows应用程序设计特点(续)2.消息循环与输入事件驱动围绕着消息产生与处理展开,一条消息是关于发生事件消息事件驱动是靠消息循环机制来实现。

消息是一个汇报相关事件发生通知VC加加第14页1.3Windows应用程序设计特点(续)VC加加第15页1.3Windows应用程序设计特点(续)Windows应用程序消息起源有以下四种:(1)输入消息:包含键盘和鼠标输入。这一类消息首先放在系统消息队列中,然后由Windows将它们送入应用程序消息队列中,由应用程序来处理消息。(2)控制消息:用来与Windows控制对象,如列表框、按钮、检验框等进行双向通信。这类消息普通不经过应用程序消息队列,而是直接发送到控制对象上去。(3)系统消息:对程序化事件或系统时钟中止作出反应。(4)用户消息:这是程序员自己定义并在应用程序中主动发出,普通由应用程序某一部分内部处理。VC加加第16页1.3Windows应用程序设计特点(续)在Windows下,因为允许多个任务同时运行,应用程序输入/输出是由Windows来统一管理。Windows操作系统包含三个内核基本元件:GDI,KERNEL,USERVC加加第17页1.3Windows应用程序设计特点(续)GDI(图形设备接口)负责在屏幕上绘制像素、打印硬拷贝输出,绘制用户界面包含窗口、菜单、对话框等。系统内核KERNEL支持与操作系统亲密相关功效:如进程加载,文本切换、文件I/O,以及内存管理、线程管理等。USER为全部用户界面对象提供支持,它用于接收和管理全部输入消息、系统消息并把它们发给对应窗口消息队列。消息队列是一个系统定义内存块,用于暂时存放消息;或是把消息直接发给窗口过程。每个窗口维护自己消息队列,并从中取出消息,利用窗口函数进行处理。VC加加第18页1.3Windows应用程序设计特点(续)VC加加第19页1.3Windows应用程序设计特点(续)3.图形输出Windows程序不但在输入上与以往程序不一样,主要表现为:1)DOS程序独占整个显示器幕,其它程序在后台等候。Windows每一个应用程序对屏幕一部分进行处理。

DOS程序能够直接往屏幕上输出Windows是一个多窗口操作系统,由操作系统来统一管理屏幕输出;每个窗口要输出内容时,必须首先向操作系统发出请求(GDI请求),由操作系统完成实际屏幕输出工作。VC加加第20页1.3Windows应用程序设计特点(续)2)Windows程序全部输出都是图形。Windows提供了丰富图形函数用于图形输出,这对输出图形是相当方便,不过因为字符也被作为图形来处理,输出时定位要比DOS复杂多3)Windows下输出是设备无关。Windows图形输出是由图形设备接口(GDI)来完成VC加加第21页1.3Windows应用程序设计特点(续)GDI提供两种基本服务:创建图形输出和存放图象。GDI提供了大量用于图形输出函数,这些函数接收应用程序发出来绘图请求、处理绘图数据并依据当前使用设备调用对应设备驱动程序产生绘图输出。绘图函数分为三类:一是文字输出二是矢量图形函数,用于画线、圆等几何图形三是光栅(位图)图形函数,用于绘制位图VC加加第22页1.3Windows应用程序设计特点(续)GDI识别四种类型设备:

显示器幕硬拷贝设备(打印机、绘图机)、位图图元文件前二者是物理设备,后二者是伪设备VC加加第23页1.3Windows应用程序设计特点(续)GDI图形输出是面向窗口,面向窗口包含两层含义:

(1)每个窗口作为一个独立绘图接口来处理,有它自己绘图坐标当程序在一个窗口中绘图时,首先建立缺省绘图坐标,原点(0,0)位于窗口用户区左上角。每个窗口必须独立维护自己输出。(2)绘图仅对于本窗口有效,图形在窗口边界会被自动裁剪窗口中每一个图形都不会越出边界。即使想越出边界,也是不可能,窗口会自动预防其它窗口传过来任何像素。你在窗口内绘图时,就无须担心会偶然覆盖其它程序窗口,从而确保了Windows下同时运行多个任务时各个窗口独立性。VC加加第24页1.3Windows应用程序设计特点(续)4.用户界面对象Windows支持丰富用户接口对象,包含:

窗口、图标、菜单、对话框等等。下面介绍用户界面对象中一些术语和相关概念VC加加第25页1.3Windows应用程序设计特点(续)窗口窗口是用户界面中最主要部分。它是屏幕上与一个应用程序相对应矩形区域,是用户与产生该窗口应用程序之间可视界面。边框绝大多数窗口都有一个边框,用于指示窗口边界。系统菜单框系统菜单框位于窗口左上角,以当前窗口图标方式显示,用鼠标点一下该图标(或按ALT+空格键)就弹出系统菜单。标题栏标题栏位于窗口顶部,其中显示文本信息用于标注应用程序,普通是应用程序名字,方便让用户了解哪个应用程序正在运行。VC加加第26页窗口VC加加第27页菜单栏菜单栏位于标题栏下方,横跨屏幕,在它上面列出了应用程序所支持命令,菜单栏中项是命令主要分类,如文件操作、编辑操作。工具条工具条普通位于菜单栏下方,在它上面有一组位图按钮,代表一些最惯用命令。客户区客户区是窗口中最大一块空白矩形区域,用于显示应用程序输出。垂直滚动条和水平滚动条垂直滚动条和水平滚动条分别位于客户区右侧和底部,它们各有两个方向相反箭头和一个深色长度可变滚动块。状态栏状态栏是普通位于窗口底部,用于输出菜单说明和其它一些提醒信息VC加加第28页图标图标是一个用于提醒用户符号,它是一个小小图象,用于代表一个应用程序。光标Windows光标是显示器上一个位图,而不是DOS下一条下划线。插入符插入符(caret)是一个微小并闪烁位图,作为一个键盘控制指针。对话框对话框是一个特殊窗口,它提供了一个接收用户输入、处理数据标准方法。尤其,当用户输入了一个需要附加信息命令时,对话框是接收输入标准方法。控件查找对话框是一个独立窗口,它显示信息并接收用户输入。在对话框中,还包含了许多小窗口,这些窗口被称为控件。常见控件有:按钮、编辑框、列表框、组合框、静态文本等等消息框消息框是用于给用户一些提醒或警告窗口。VC加加第29页消息框查找对话框VC加加第30页5.资源共享对于DOS程序来说,它运行时独占系统全部资源,包含显示器、内存等,在程序结束时才释放资源。

Windows是一个多任务操作系统,各个应用程序共享系统提供资源常见资源包含:设备上下文,画刷,画笔,字体,对话框控制,对话框,图标,定时器,插入符号,通信端口,电话线等。VC加加第31页Windows要求应用程序必须以一个能允许它共享Windows资源方式进行设计,它基本模式是这么:

1)向Windows系统请求资源;2)使用该资源;3)释放该资源给Windows以供别程序使用。VC加加第32页6.Windows应用程序组成用VC++编写一个经典Windows应用程序,普通需要:1)c,cpp源程序文件:源程序文件包含了应用程序数据、类、功效逻辑模块(包含事件处理、用户界面对象初始化以及一些辅助例程)定义。2)h,hpp头文件:头文件包含了cpp、c源文件中全部数据、模块、类申明。当一个cpp、c源文件要调用另一个cpp、c中所定义模块功效时,需要包含那个cpp、c文件对应头文件。VC加加第33页3)资源文件:包含了应用程序所使用全部资源定义,通常以.rc为后缀名。

注意:这里说资源不一样与前面提到资源,这里资源是应用程序所能够使用一类预定义工具中一个对象包含:字符串资源、加速键表、对话框、菜单、位图、光标、工具条、图标、版本信息和用户自定义资源等。VC加加第34页在DOS程序设计过程中,全部界面设计工作都在源程序中完成。在Windows程序设计过程中,象菜单、对话框、位图等可视对象被单独分离出来加以定义,并存放在资源源文件中,然后由资源编译程序编译为应用程序所能使用对象映象。VC加加第35页在Windows应用程序中引入资源有以下一些好处:1)降低内存需求2)便于统一管理和重复利用3)应用程序与界面有一定独立性,有利于软件国际化应用程序资源只是定义了资源外观和组织,而不是其功效特征。VC加加第36页Windows应用程序生成同DOS下类似,也要经过编译、链接两个阶段,只是增加了资源编译过程,基本流程以下列图:VC加加第37页因为Windows是Microsoft产品,因而在早期阶段,开发工具只有MicrosoftC和SDK(SoftwareDeveloperKit:软件开发工具包)可供使用利用SDK进行Windows程序设计开发非常繁琐、复杂,代码可重用性差,工作量大,即便一个简单窗口也需要几百行程序,令开发人员望而生畏。VC加加第38页伴随Windows逐步普及,各大软件企业纷纷推出自己Windows软件开发工具。国内用户比较熟悉有BorlandC++2.0以上版本以及用于数据库开发Foxpro等等。可视化技术和CASE技术研究深入为我们带来了支持可视化编程特征第三代开发工具,这一代开发工含有:VisualBasic,VisualC++,BorlandC++Builder,Delphi用于数据库开发PowerBuilder、VisualFoxpro等等。VC加加第39页1.4Windows应用程序开发工具VisualC++是美国Microsoft企业推出4GL软件开发工具,最新版本为VisualC++.net版。后面以VisualC++6.0为主讲解相关内容VC加加第40页VisualC++含有以下优点(同其它软件开发工具相比):1.面向对象、可视化开发提供了面向对象应用程序框架MFC,大大简化了程序员编程工作,提升了模块可重用性。VisualC++还提供了基于CASE技术可视化软件自动生成和维护工具AppWizard、ClassWizard、VisualStudio、WizardBar等,帮助用户直观、可视地设计程序用户界面,能够方便编写和管理各种类,维护程序源代码,从而提升了开发效率。用户能够简单而轻易地使用C/C++编程。VC加加第41页2.众多开发商支持以及业已成为工业标准MFC类库MFC类库已经成为实际上工业标准类库,得到了众多开发商和软件开发工具支持。3.VisualC++封装了WindowsAPI(应用程序接口)函数、USER、KERNEL、GDI函数帮助我们搞清了许多函数组织方法,隐去了创建、维护窗口许多复杂例行工作,简化了编程。VC加加第42页1.5面向对象和Windows编程

面向对象技术是当前流行系统设计开发技术,它包含面向对象分析和面向对象程序设计。面向对象程序设计技术提出,主要是为了处理代码重用问题。1.结构化程序设计从系统功效入手,按照工程标准和严格规范将系统分解为若干功效模块,系统是实现模块功效函数和过程集合。因为用户需求和软、硬件技术不停发展改变,按功效划分设计系统模块必定是易变和不稳定。VC加加第43页2.面向对象程序设计从所处理数据入手,以数据为中心而不是以服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论