- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SDK教材
第十五章 Windows 程序设计初步
一、学习目标:
了解Windows 窗体的基本结构
了解WinMain 函数的参数意义
了解句柄的概念
熟悉Windows 窗口类成员
熟练掌握Windows 消息机制
了解窗口回调函数的调用过程
熟悉最常见的Windows 消息
了解消息队列
熟练使用Windows 定时器
了解程序发送消息
二、学习重点:
理解消息循环机制
理解句柄的概念
熟练运用窗口回调函数
三、学习难点:
理解消息循环机制
熟练运用窗口回调函数
15.1 图形用户接口
15.1.1 图形化的用户界面
在个人计算机上进行图形处理,过去认为是一项困难的工作,因为过去的计算机操作系
统都使用字符形式的用户界面,计算机用户通过在键盘上键入各种命令来操作计算机,
这个时候的操作系统给用户提供的接口称作 “命令接口”。在这种状况下,用户必须记
住大量的命令语句才能熟练操作计算机,如在纯粹的MS-DOS 环境,使用起来显得很困
难。
软件公司总是在用户需求事件的驱动下运作,不少软件公司希望能在“命令接口”的操
作系统上挂接一个Shell 层,使其具有图形化的用户操作界面。有不少软件公司在这方
面作出了努力,也的确产生了很多成就,其中最有成就的就是MicroSoft 公司的Windows
系统,最初就是一个工作于DOS 之上的图形Shell 层,大大简化了用户操作计算机的难
度。
在MS-Windows 中,使用各种形象化的图标以及按钮等简化用户操作,俗称图形用户接
口 (GUI,Graphics User Interface)。当然,Windows 的主要成就在于它的名字——
Windows,即窗口。 个窗口通常是由一个略具立体感的边框 起来的一个方方的盒子,
而且通常还具有一个标题栏,在标题栏上 般都具有最大化 (还原)、最小化和关闭按
钮。在标题栏的左边通常还有 个图标,用鼠标双击此图标可以关闭该窗口,如果是单
击,则会弹出一个菜单,这个菜单通常称为系统菜单。当然,如果右击标题栏,也可以
得到系统菜单。下面就是一个典型的Windows 窗口:
窗口内部通常可以画上 些精美的图形来美化程序的界面,也可以放置按钮,滑动条等
称之为“控件”的东西供用户使用鼠标点击或者拖动。在后面的章节中,我们会认识到
这些“控件”其实也是隶属于其他窗口的一个小窗口。如果一个窗口隶属于另外一个窗
口,那么我们就称这个窗口为另外一个窗口的子窗口,与子窗口对应的就是父窗口。
Windows 允许一个窗口中有任意多个子窗口。
在 Windows 中,窗口有“当前窗口”和 “非当前窗口”之分,一个当前窗口 般都是
显示在屏幕的最前面,而且通常具有高亮显示的标题栏。控件作为 个窗口,如果它是
当前窗口,则我们称它“具有焦点”,比如一个按钮如果具有焦点,则它看起来比其他
按钮要“厚实” 些,而且还有一个虚线的方框。
15.1.2 过程驱动和事件驱动
迄今为止,我们使用 C 语言编写的程序 (所有前面那些小的示例程序和我们编写的练
习程序)都是过程驱动的编程方式。代码决定了程序中下 步会发生什么,而且 令
的执行序列也是可以预测的。
这种处理类型称为同步方式。程序中的事件必须一个接一个的发生。当程序需要从
盘读取字符的时候,就停下等待用户在键盘上输入,等用户输入完成,程序才会继续
执行后面的代码。程序接下来会执行什么可以有一个明确的预测。这样在程序上控制
用户如何操作的方式,我们就称作过程驱动方式。如果所有的程序都这样,会大量浪
费CPU 资源,在多任务的操作系统中是不适合的。
我们可能已经编写过某些程序,比如在键盘上按下“1”,则程序执行某 段代码,按
下“2 ”则程序又执行另外 段代码。这时,程序就由用户决定接下来如何运行了。为
了实现这种功能,我们往往是等待用户的输入,对接收来的输入作一个判断,然后再
判断这个输入是否合法,作出相应的响应。
在 Windows 环境,用户可以同时使用鼠标或 盘来控制程序的运行,用户在键盘上按
下不同的 或者用鼠标点击不同的按钮都作为 个用户事件,程序受这些事件的控制
来执行相应的代码,作出相应的响应,程序的这种运行方式我们称作事件驱动方式。
程序在
您可能关注的文档
- 影响多联机运行性能的因素_secret.doc
- 注射透明质酸.doc
- 2012年中考数学模拟试卷6.doc
- 不规则电路对辐射与阻抗的影响.pdf
- 初三二模试卷及答案(数学).doc
- 射成型不良状况改善对策.doc
- 九年级周六数学练习(2.26).doc
- 数学建模,分赌本问题.ppt
- 构造法解题.doc
- 九年级三月月考理化试.doc
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)