第03节 开发Windows应用程序的技术基础.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 3 章 开发Windows应用程序的技术基础 本章主要目的是向读者介绍编写Windows应用程序所采用的基本技术, 约定和惯例,API的结构与基本用法等作了介绍,对Windows应用程序的各个组成部分也作了初步介绍,并用框图的形式介绍Windows应用程序的工作原理。 3.1 应用程序的结构与编译 解决多任务的关键是: 控制核心应该从程序本身转移到Windows操作系统。 应该由Windows操作系统决定那个应用程序可以占用CPU时间,程序的结构也不再是过程式程序中的赋值、循环、分支等C语言中常见的结构,而是消息,处理。 为了解决这个问题,应用程序采用一种称为”事件驱动结构”是合适的。 所谓非抢占式是指一旦这个应用程序取得了执行权,就一直要把这个程序执行下去,除非遇到新的消息来干预。否则,其他程序没有办法执行。 如果把非抢占式和”事件驱动结构相结合,那就是Win16操作系统下的应用程序。 3.1.1 Windows应用程序的结构和C语言程序结构的比较 C语言程序的主体结构是 int main() { ……… } 定义函数1 定义函数2 …… 定义函数n 3.1.1 Windows应用程序的结构和C语言程序结构的比较 而Windows应用程序的结构可以用下面的框图来表示。 图3-1 Windows应用程序的结构有两个函数所组成, 一个是WinMain函数, 另一个称为窗口函数,又称窗口消息处理程序。 3.1.2 Windows应用程序的编译和C语言程序编译的比较 1、C语言的编译图示 2、Windows应用程序的编译 C语言的编译图示 3.1.3 编译应用程序所需的六个基本文件 源代码文件,文件的后缀是.C或.CPP; 资源文件 位图(.bmp) 图标(.ico) 菜单等资源(.res) 对话框(dlg) 字体(fnt) 也资源描述文件(.rc) 资源编译器会对RC文件提供的资源信息进行生成和编译,并把它们插入到exe文件,形成真正的可执行文件。 3.1.3 编译应用程序所需的六个基本文件 头文件(.h) WINDOWS.H头文件 WINDEF.H头文件,包含有大量简单和集合数据的定义,这些数据在Win32编程中经常要用到 WinNT.h 项目文件(.MAKE) 模块文件(.DEF) 3.1.3 Windows程序中基本数据类型 3.2 Windows 应用程序设计接口(API) 两种API Win16 API Win32 API 三个核心API组件 3.3 标识符的匈牙利命名惯例 为什么此惯例称为匈牙利命名惯例。 匈牙利命名惯例的两条约定。 标识符以一个事者几个小写字母开始,这些小写字母表示标识符的数据类型 大小写混杂写,使得标识符具有一定的含义,便于理解,增强可读性。 3.3 标识符的匈牙利命名惯例 3.4 事件驱动程序设计 什么是事件驱动程序设计,它与传统程序设计有什么区别。 事件驱动程序: Windows应用程序是消息驱动程序,又称事件驱动程序 事件驱动意味着操作系统的每一部分之间,以及操作系统与应用程序之间都是通过“消息”进行通信联系的。 计算机中的一个事件通过驱动程序变成一个消息 鼠标事件产生鼠标消息 键盘事件产生键盘 3.4 事件驱动程序设计 int WinMain(hInst, hPrev, ...) { MSG msg; RegisterClass(...); // 向Windows系统注册窗口类 CreateWindow(...); // 创建应用程序的窗口 ShowWindow(...); // 显示刚才创建的窗口 // 进入消息循环 while(GetMessage(msg...)) // 从Win获取消息, 直到获到WM_QUIT为止 { TranslateMessage((msg); // 变换消息,使消息规范化以便于处理 DispatchMessage((msg); // 在Win的协助下,将消息送给“消息处理函数” } return msg.wParam; } 3.4 事件驱动程序设计 事件驱动程序的工作原理 3.4 事件驱动程序设计 消息与消息处理是实现事件驱动的关键。 3.7 Windows应用程序的工作原理 Windows程序对输入消息的获得与处理 Windows操作系统负责收集输入消息并把它存入系统消息队列(system queue) 然后由操作系统再分送给应

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档