- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 Windows编程基础
第二章 Windows编程基础 2.1 Windows程序的特点 2.2 Windows界面的基本要素 2.3 Win32程序结构 2.1 Windows程序的特点(1) 友好的图形用户界面(GUI) 图形设备接口(GDI)独立于具体设备 支持多任务 队列化消息输入 支持队列特征的消息驱动模型 事件驱动的程序设计 资源共享 程序与资源相互独立 支持应用程序之间的数据交换 2.1 Windows程序的特点(2) Windows的消息来源 输入消息:标准输入设备的消息。OS接受到该类消息后,先放在OS的消息队列中,在由OS发送往相应的应用程序消息队列中,由应用程序来处理。 控制消息:与Windows的控制对象(如控件)进行双向通信的消息。这类消息一般不经过应用程序的消息队列,而是直接发送到控制对象上。 系统消息:对程序化的事件或系统时钟中断做出反应。 用户消息:程序员自己定义并在应用程序中主动发出的,一般由应用程序的模块内部处理。 2.1 Windows程序的特点(3) Windows的消息驱动模型 Windows主要有3个内核基本元件: GDI:处理屏幕绘制和打印。 KERNEL:支持与OS密切相关的功能(如进程加载、文本切换、文件I/O、内存管理、线程管理等)。 USER:支持所有用户界面对象,主要用于接受和管理所有的内存块,用于临时存储消息或把消息直接发送成窗口过程。每个窗口维护自己的消息队列,逼供内从中取出消息,利用窗口函数进行处理。 2.1 Windows程序的特点(4) Windows的事件驱动的程序设计 Windows采用由事件的发生来控制程序逻辑。程序开始运行时,处于等待用户输入事件的状态,由于用户随机输入事件发生的不确定性,每一事件的发生将在对应的消息队列中放置一条消息,由消息驱动不同的响应,处理完毕又返回并处于等待事件状态,直到退出消息的驱动。 2.1 Windows程序的特点(5) Windows的资源共享 Windows应用程序共享OS资源的基本模式如下: App向OS请求资源 App使用资源 App释放资源给OS OS对系统资源有绝对控制权,以保证向所有应用程序提供公平的不中断的运行,并向应用程序提供API函数以便安全访问底层设备。 系统资源与用户自定义资源的区别: 用户自定义资源是窗口可视元素的映像 用户自定义资源的ID在应用程序范围内是惟一的。 系统资源是有句柄来标志,在OS的范围是惟一的(如窗口句柄、应用程序句柄等)。 2.1 Windows程序的特点(6) Windows的程序与资源相互独立优点: 降低内存需求 便于统一管理 应用程序与界面有一定的独立性,有利于软件的国际化 Windows支持应用程序之间的数据交换: 动态数据交换(DDE) 剪贴板 内存映射文件 对象链接与嵌入(OLE) 组件对象模型/分布式组件对象模型(COM/DCOM) Socket编程 2.2 Windows界面的基本要素 窗口边框 标题栏 菜单栏 图标 工具栏 状态栏 滚动条 客户区 2.3 Win32程序结构(1) 创建Windows应用程序的方法 利用Win16/Win32 API函数集 利用VC MFC Win32 API创建的Windows应用程序有2个基本部分: 应用程序主函数WinMain:固定命名。 按照窗口类结构定义变量,并初始化; 注册窗口类别; 创建窗口,显示并更新窗口; 启动消息循环,接受消息,转窗口函数去判断处理,直到接受到quit消息。 窗口函数:用户命名,系统调用。 处理窗口消息,完成特定的任务。 2.3 Win32程序结构(2) 定义窗口类的结构 Win32的窗口类就是描述窗口共性的一个数据结构,提供了窗口样式、窗口消息处理函数、程序句柄、图标、光标、背景刷、菜单以及描述本窗口类型的结构的名称。根据该结构描述的属性,可以创建可视化的交互界面,即窗口。 WNDCLASS结构定义: Typedef struct { UNIT style;//指定窗口格局的整型数; WNDPROC lpfnWndProc;//控制和处理窗口消息的窗口函数,由系统调用; int cbClsExtra;//为指定这个窗口类别结构额外分配的字节数,一般为0; int cbWndExtra; //为这个类别中所有窗口结构额外分配的字节数,一般为0; HINSTANCE hInstance; //标志要创建的窗口所属应用程序的句柄; HICON hIcon; //指定窗口最小化时的图标的句柄; HCURSOR hCursor; //窗口中所使用的光标的句柄; HBRUSH
您可能关注的文档
最近下载
- 《血管活性药物静脉输注护理》团体标准解读.pptx VIP
- 2024年北部战区总医院医护人员招聘备考试题及答案解析.docx
- 2024-2025学年人教部编版四年级上语文寒假作业(四).docx
- 初中数学练习题 2022-2023学年四川省成都市武侯区八年级(上)期末数学试卷.pdf VIP
- 五年级上册数学试题-期末测试卷人教版(含答案).docx VIP
- 心衰合并呼吸衰竭护理查房.pptx
- NDS3585 4合1大卡接收机(SPTS输出版) 使用说明书.pdf VIP
- 雅思考试(IELTS)真题.pdf VIP
- Samsung三星音响HW-H450使用说明书.pdf VIP
- 铁路建设征地拆迁的工作心得体会.pptx
文档评论(0)