- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
窗口 窗口 窗口的类型和要素 窗口背后的计算 窗口 窗口 与人交互的场所 图形化 窗口与应用程序 配置参数 不断交互 结果显示 窗口与进程 一一对应 一个进程打开多个窗口 一个窗口对应多个进程 (多个进程通过一个窗口与人交互) 窗口类型与要素 窗口类型 Console 文字类型 Window 菜单+用户区域 Dialog Message Box 窗口要素 框架 菜单 按钮 滚动条 窗口背后的计算 窗口程序各不相同 本质区别是任务不同,计算不同 窗口的每个要件都有相应的程序支撑 任务的计算程序在哪里? 计算程序如何将窗口各部分统筹起来? 窗口+计算的程序框架将是怎样的? Win32程序开发流程 库函数 库函数的作用 用户不必关心窗口要件的代码 动态链接库 在执行时,才进行链接 增加程序的可移植性 节约内存 Windows常用的库函数 C Runtimes--C库函数 LIBC.LIB MSVCRT.LIB Windows API GDI32.LIB USER32.LIB KERNEL32.LIB 其它 头文件 windows.h stdafx.h 其它 Windows 程序结构 以消息为基础,以事件驱动 (message based,event driven) 窗口程序的主要任务是人机交互 除非人主动结束任务。程序以while循环为主体框架 人不断进行各种输入,计算机不断响应 形成“输入”-“响应”的程序结构 各种类型的“输入”,以消息格式存在 GetMessage()取走一个消息 需要响应的消息,成为事件 对事件的响应,即事件驱动 DispatchMessage()处理消息 Windows 程序结构 程序基本结构(算法) 一个具体的窗口程序 程序入口点 WinMain WinMain Windows 程序的主要构成 WinMain()--程序入口点 注册窗口 RegisterClass() 生成并显示窗口 CreateWindow()ShowWindow() 消息循环 WndProc()--窗口函数(功能实现) 区分消息 switch 根据消息触发相应处理 调用DefWindowProc() 不处理的消息、和需要系统进一步处理的消息 如WM_CLOSE,使用者关闭了窗口。应用程序获得这个消息后,释放了自己的资源,然后让系统进一步执行关闭窗口的动作 注册窗口类 RegisterClass( … ) 在注册之前可以设置窗口属性,系统会给出一些缺省值,我们重点关心其中的lpfnWndProc参数 窗口程序的可能结构 窗口产生 CreateWindow() ShowWindow() UpdateWindow() 消息循环 while(GetMessage(msg…)){ TranslateMessage(msg);//消息转换 DispatchMessage(msg); } GetMessage具有阻塞机制 当消息队列中没有消息时,程序非忙等,而是让权等待 DispatchMessage 不是直接调用消息处理函数(WndProc) 通过USER模块协助,才将消息传递到WndProc WndProc的调用指示在注册窗口类时,已向系统指明 为什么不直接调用?方便系统抓取消息 窗口函数 WndProc(…) 窗口函数 消息 本身是一个unsigned int变量 类型有 WM_COMMAND:系统命令类,菜单选择,按钮等 WM_PAINT:对窗口作图 WM_DESTORY:关闭窗口 WM_USER:用户可自定义一些消息 在某个特定类型之下,更有许多事件,一般通过wParam通知 窗口函数基本框架 Windows程序的生与死 程序初始化过程中调用CreateWindow,为程序创建了一个窗口,CreateWindow送出WM_CREATE直接给窗口函数,后者可以在此时做些初始化操作 在程序运行过程中,不断以GetMessage从消息队列中取得消息。如果这个消息是WM_QUIT,GetMessage会得到0的返回值而结束循环,进而结束整个程序 DispatchMessage通过系统USER模块的协助与监督,把消息分派至窗口函数,消息将被处理 程序不断循环 当使用者按下系统菜单中的Close命令时,系统送出WM_CLOSE,通常窗口程序不处理它,由DefWindowProc处理 DefWindowProc处理WM_CLOSE,调用DestoryWindow把窗口清除,送出WM_DESTORY 窗口程序对WM_DESTORY的处理是调用PostQuitMessage PostQuitMessage送出WM_QUIT,于是WinMain的循环结束了,整个应用程序也结束了 Windows程序的生与死 Wi
您可能关注的文档
最近下载
- DBJT 08-120-2015雨水口标准图2015沪S203.docx VIP
- 神经介入产品培训.ppt VIP
- 重庆市綦江区郭扶镇社区工作者招聘考试试题汇总2024.docx VIP
- ECharts数据可视化课件 第1章 初识ECharts.pptx VIP
- 重庆市綦江区安稳镇社区工作者招聘考试试题汇总2024.docx VIP
- 突发事故处理流程.pdf VIP
- 电工安全生产协议书(完整版).docx VIP
- 固定翼无人机技术完整全套教学课件.pdf
- 1.35KV预制舱变电站项目(整套35KV预制舱,变压器,开关柜,火灾报警)技术规范书.doc VIP
- DB36_T 811-2020 井冈蜜柚 生产技术规程.pdf VIP
文档评论(0)