[计算机软件及应用]第七章isualC编程基础
7.1 Windows程序运行机制 事件驱动与消息循环 Windows是一种典型的事件驱动运行机制; DOS 应用程序显式地运用一个函数(比如gets)来取得输入; Windows应用程序是等待Windows系统将输入传递给Windows应用程序的窗口,当窗口有输入时,窗口过程函数处理输入后将控制返回给Windows系统; Windows系统以消息的形式将输入传给窗口过程; 7.1 Windows程序运行机制 Windows应用程序在运行时就是不断地等待消息,处理消息,又等待消息这个过程循环往复直到程序运行结束时为止,一般称这个过程为消息循环。 7.1 Windows程序运行机制 消息和消息处理—消息的结构MSG typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG, *PMSG; 7.1 Windows程序运行机制 1、hwnd:消息要发送到的应用程序窗口的句柄,如果是在一个有多个窗口的应用程序中用此数据成员可决定让哪个窗口接收消息; 2、message:是一个数值用于惟一标识一种消息类型; 3、wParam:是一个32位的消息数据成员它的确切意义取决于消息本身; 4、lParam:也是一个32位的消息数据成员它的确切意义也取决于消息本身; 5、time:消息放入消息队列中的时间,在这个数据成员中写入的并不是日期而是从Windows启动后所测量的时间值用于保持消息正确的顺序; 6、pt:消息被放入消息队列时的鼠标坐标; 7.1 Windows程序运行机制 被送往应用程序的消息将被应用程序窗口的窗口过程函数所接收,如程序员编写有相应的函数窗口过程函数将执行对应的函数; 每个消息都有一个专门的消息处理函数来处理; 7.1 Windows程序运行机制 消息映象机制: 消息映像指MFC类中将消息与消息处理函数联系起来形成一一对应的机制; 任何一个从类CCmdTarget派生的类都能处理消息都有相应的消息映像; 利用ClassWizard消息处理函数中加入代码; 7.2 Windows API编程 Windows API(Windows Application Programming Interface) 是所有Windows应用程序的基础; Windows应用程序通过调用API来请求操作系统完成一些低级服务; 应用程序的窗口图标菜单和对话框等都是由API来进行管理和维护的; Windows API具有两种基本类型:Win16 API和Win32 API; 7.2 Windows API编程 WindowsSDK(Windows Software Development Kit)是一套帮助C++语言程序员创建Windows应用程序的工具,它包含: 1)大量的在线帮助; 2)各种编程工具比如对话框编辑器等; 3)Windows库及头文件; 4)使用C++语言编写的示例程序。 7.2 Windows API编程 Windows API应用程序的组成 Windows API应用程序主要由入口函数WinMain和窗口函数构成,其中还包括各种数据类型、数据结构与函数; 入口函数WinMain(): WinMain函数是所有 Windows 应用程序的入口, 与一般 C 语言方式运行程序的 main()函数类似,功能为完成初始化操作, 并产生消息循环; WinMain()函数有3个基本部分:函数说明, 初始化及消息循环; 7.2 Windows API编程 1、函数说明: int WINAPI WinMain( HINSTANCE hInstance, //程序实例句柄 HINSTANCE hPrevInstance,//为保持与 Win16兼容的句柄 LPSTR lpCmdLIne, // 命令行参数 int nCmdShow // 初始化窗口显示方式 ) 2、初始化: 通常是为窗口类的成员变量赋初值,以便创建窗口。 7.2 Windows API编程 3、消息循环: 采用消息循环接收消息 while (GetMessage(msgTmp, NULL, 0, 0)) // 消息循环 { TranslateMessage(msgTmp); // 翻译消息 DispatchMessage(msgTmp); // 将消息传递给处理函数 } 7.2 Windows API
您可能关注的文档
- [计算机软件及应用]第1章 Jaa语言概述-21.ppt
- [计算机软件及应用]第1章 Visual Basic的基础知识.ppt
- [计算机软件及应用]第1章 计算机系统概论.pdf
- [计算机软件及应用]第1章Authorware多媒体课件制作技术.ppt
- [计算机软件及应用]第1章MATLAB简介.pdf
- [计算机软件及应用]第1章Flash文档教学.ppt
- [计算机软件及应用]第1章基础知识.ppt
- [计算机软件及应用]第1章汇编语言基础108.ppt
- [计算机软件及应用]第1讲概述1.pdf
- [计算机软件及应用]第1章程序设计和C语言.ppt
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)