- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十二章基于Windows的面向对象语言(一)---VC
第十二章 基于Windows的面向对象语言(一) ——VC++ 北京信息工程学院 计算机系 牟永敏 第十二章 基于Windows的面向对象语言(一) ——VC++ Windows操作系统已经广泛被人们所接受,全新的图形界面给用户带来了方便。与DOS操作系统相比,面向对象的语言开发环境也实现了飞跃。已经从C++ for DOS到C++ for Windows。出现了Microsoft公司的Visual C++(简称VC++)、Visual J++(简称VJ++)Borland公司的Delphi,C++ Builder等多种基于Windows操作系统的语言开发环境。 12.1 Windows 的编程模式(1) 多任务 消息处理 Windows的图形设备接口(GDI) 基于资源的程序设计 动态链接库(DLL) 面向对象 12.1 Windows 的编程模式(2) 多任务 DOS环境下应用程序独占系统资源(如:CPU、内存、屏幕和键盘等)。应用程序执行时,掌握着系统的控制权,运行结束后再返回O.S。应用程序运行时,为使用系统资源,大多数情况下只需调用几个系统函数(库函数)。 Windows是多任务O.S,即可以在同一段时间内执行多个应用程序, 故应用程序不可独占所有系统资源,必须与其他应用程序共享系统资源。 为实现多任务,至少带来两个特点: (1) 所有系统资源始终由Windows精心管理以供各应用程序共享。因此,Windows应用程序必须使用Windows提供的特有的界面(Win32应用程序编程接口—API)来执行操作,以确保Windows能有效管理系统资源,供应用程序使用。 (2) 编写Windows应用程序时应遵守Windows编程法则,即,任何程序都要尽可能少对其他程序和环境(Windows本身)产生影响。应该坚决避免某个Windows程序独占对CPU的控制权,例如,无休止地循环等待输入。这将使其他Windows程序都得不到CPU,严重地破坏了Windows多任务的特点。 12.1 Windows 的编程模式(3) 消息处理 用户在DOS平台上编写应用程序时,至少要有一个main函数(主函数)。当用户运行该应用时程序时,操作系统会自动调用main,从这一点上讲,程序员可以使用任何所需要的程序结构。如果程序需要得到用户的键盘输入,或者需要使用操作系统所提供的功能,那么它就可以调用适当的函数,如getchar,或者使用基于字符操作的其他库函数。也就是说,这种程序设计方法是通过主函数显式地调用其他函数来完成预期的功能。其调用顺序及整个程序的执行顺序都由程序员在编程时预先确定。因此,它是顺序的、面向过程的程序设计方法,程序设计者直接控制程序事件发生的顺序。 (待续) 12.1 Windows 的编程模式(4) 消息处理 (续) 然而,Windows应用程序与DOS应用程序在上述问题的处理方法上,是截然不同的。Windows程序则用事件驱动的方法编写。即,程序员不再完全负责指定程序的流程,而是让用户来决定。用户在提供给他的选项(以可视对象的形式显示在屏幕上)中进行挑选,做出的一个选择就是产生一个事件(如:单击鼠标左键、单击鼠标右键等),Windows应用程序负责对这个事件做出正确的响应(消息处理)。 (待续) 12.1 Windows 的编程模式(5) 消息处理 (续) 程序员在Windows平台上编写应用程序时,至少要有一个WinMain函数。当Windows操作系统运行程序时,它首先调用程序中的WinMain函数。该函数一般用来完成某些特殊的任务,其中最重要的任务就是要创建该应用程序的“主窗口”。“主窗口”中必须包含用来处理Windows所发送的消息的代码(用户每产生一个事件Windows系统就向Windows程序发送一个消息)。基于Windows的程序和基于DOS的程序之间的一个最根本的差别,就在于DOS程序是通过调用操作系统的功能来获得用户输入的,而Windows程序则是通过操作系统发送的消息来处理用户输入的。 许多Windows消息都经过了严格的定义,并且适用于所有的程序。例如,当窗口被创建时系统就会发送WM-CREATE消息,当用户按下鼠标的左键时系统就会发送WM-LBUTTONDOWN消息,当用户敲了一个字符键时系统就会发送WM-CHAR消息,而当用户关闭窗口时系统又会发送WM-CLOSE消息。所有的消息都有两个32位的参数,可以保存如光标位置、键盘码等这样的信息。当用户进行菜单选择和对话框按钮单击等操作时,系统又会相应地发送WM-COMMAND(命令消息)消息给适当的窗口。命令消息的参数则完全依赖于窗口的菜单设计。程序员还可以定义一些
文档评论(0)