实习指导书(1)-windows消息循环机制及api程序设计

实习指导书(1)-windows消息循环机制及api程序设计

ID:45585441

大小:444.79 KB

页数:21页

时间:2019-11-15

实习指导书(1)-windows消息循环机制及api程序设计_第1页
实习指导书(1)-windows消息循环机制及api程序设计_第2页
实习指导书(1)-windows消息循环机制及api程序设计_第3页
实习指导书(1)-windows消息循环机制及api程序设计_第4页
实习指导书(1)-windows消息循环机制及api程序设计_第5页
资源描述:

《实习指导书(1)-windows消息循环机制及api程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第一部分Windows消息循环机制及API程序设计1概述1-1操作系统及窗口环境操作系统(OperatingSystem,简称OS)传统上是负责对计算机硕件直接控制及管理的系统软件。操作系统的功能一般包括处理器管理、存储管理、文件管理、设备管理和作业管理等。当多个程序同时运行时,操作系统负责规划以优化每个程序的处理时间。一个操作系统可以在概念上分割成两部分:内核(Kernel)以及壳(shell)□一个壳程序包裹了与硕件直接交流的内核:在有些操作系统上内核与壳完全分开(例如Unix、Linux等),这样用户就可以在一个内核上使用不同的壳;而另一些的内核

2、与売关系紧密(例如MicrosoftWindows),内核及壳只是操作层次上不同而已。MicrosoftWindows提供了一系列的API函数调用内核及壳的相关功能,这也是普通用户访问系统功能的唯一方式,其它复杂的框架开发环境,例如MFC,都是在此基础上实现的。1-2消息循环机制Windows是一个多进程的图形窗口操作系统,Windows应用程序与DOS应用程序有很大的区别。DOS应用程序采用顺序执行过程,而Windows是一个基于事件的消息(Message)驱动系统。Windows应用程序是按照“事件一消息一处理^非顺序的机制运行。当有某个事件(如单

3、击鼠标、键盘输入和执行菜单命令等)发生时,Windows会根据具体的事件产生对应的消息,并发送到指定应用程序的消息队列;应用程序从消息队列屮取出消息,并根据不同的消息进行不同的处理。WinMain(hlnst.hPrev#••・)Messagequeuereturnmsg.wParam;8WM^LOSE/ViM&OSEMSGmsg;RegisterclassCreateWindow(•••);ShowWindow(.•.);UpdateWindow(...);while(GetMessage(&msg...)){TranslateMessage(...

4、);DispatchMessage(、ndProcfhwnd,msg,wParam,lParam)WMCREATEUSERModuleQUITIswitch(msg){caseWMCREATE:caseWMcaseWMcaseWMcaseWMcaseWMCOMMAND:…、LBUTTONDOWN:…、PAINT:…MOUSEMOVE:DESTROY:…PostQuitMessage(0);(7)break;default:returnDefWindowProfc(...);}}6(inDefWindowProc)OSE:DestroyWindow(•・

5、・)1.3内容及目的实践之前首先要充分理解Windows的消息循环机制,了解Windows的API函数族的分类及大致功能,并在此基础上了解基本WindowsAPI方式开发的窗口程序的基本过程。该实践的目的并不在于学会如何利用WindowsAPI开发窗口程序,而是要求同学们了解并掌握如卜•事实:任何框架开发环境归根结底都是对WindowsAPI函数的封装与调用!在利用一个框架环境开发Windows程序的过程中,应该明白所使用的框架模块调用了WindowsAPI中的那些功能函数。作为练习,本次实践要求同学们完成如下任务:用visualC++开发一个Win3

6、2窗口程序,并实现如下功能:•实现菜单功能;•点击某两个菜单可在主窗口中显示或清除文字(文字内容不做要求);•点击某个菜单可弹出一个自定义的对话框(对话框屮的元素不做要求),单击对话框中的“确定”或“取消”按钮,可结束对话框。1-4实践环境要求开发环境统一使用MicrosoftVisualStudio2005。2创建基本工程步骤1.打开MicrosoftVisualStudio2005开发环境;2.选择“新建”项目9起始页・MicrosoftVisualStudio文件(目编辑(E)视图(Y)Qt工具CL)测试(3)窗口(W)社区(C新建(N)►1J项

7、目(E)…引Ctrl+Shift+N打开(Q)►•网站(业)…关闭(QJ文件(日…Ctrl+NJ'关闭解决方案(工)从现有代码创建项目(E)…1.弹出新建项目对话框,在项目类型中依次选择:VisualC++->Win32,在右面的模板中选:Win32项目,在卜•面的名称中,键入项目名称,这里是:Taskl,然后在位置一栏中选择项目保存的路径。如果未勾选“创建解决方案的口录”选项,项口路径屮的文件内容如下:名称▲大小类型0iReadMe.txtj2KB文本文档Resource.h1KBC/C++Header«

8、smalLico24KBACDSee7.0I

9、CO图像^stdafx.cpp1KBC++Sourcestdafx.h2KBC/C++Head

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。