Windows编程基础知识课堂PPT

上传人:新** 文档编号:567921806 上传时间:2024-07-22 格式:PPT 页数:46 大小:197.50KB
返回 下载 相关 举报
Windows编程基础知识课堂PPT_第1页
第1页 / 共46页
Windows编程基础知识课堂PPT_第2页
第2页 / 共46页
Windows编程基础知识课堂PPT_第3页
第3页 / 共46页
Windows编程基础知识课堂PPT_第4页
第4页 / 共46页
Windows编程基础知识课堂PPT_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《Windows编程基础知识课堂PPT》由会员分享,可在线阅读,更多相关《Windows编程基础知识课堂PPT(46页珍藏版)》请在金锄头文库上搜索。

1、Windows编程编程基础知识基础知识2021/3/291 内容提要内容提要n n1 Windows1 Windows编程概述编程概述n n2 2 基本概念基本概念n n3 Windows3 Windows程序基本结构程序基本结构n n4 4 程序示例程序示例2021/3/2921.1.Windows编程概述编程概述2021/3/2931 Windows编程编程nWindws编程编程 在微软的在微软的Windows操作系统下编程操作系统下编程n使用的工具使用的工具微软公司和其他公司(微软公司和其他公司(Boland等)在该操作等)在该操作系统下提供了了很多系统下提供了了很多可视化的开发系统可视

2、化的开发系统平台,如平台,如VC+、VB 、 BC、Delphi等。等。n我们使用我们使用VC+2021/3/2941 Windows编程(续)编程(续)可视化开发系统可视化开发系统(资源和工具的集成资源和工具的集成)源程序源程序编辑器编辑器编译器编译器调试工具调试工具语法检查语法检查程序修改程序修改运行监视运行监视应用程序应用程序Help和和Setup开发工具开发工具函数库和函数库和系统函数系统函数开发工具开发工具资源管理器资源管理器各种窗口和各种窗口和控件的编辑器控件的编辑器例程库例程库及及Help其他其他功能功能2021/3/2952 Windows程序特点程序特点nWindows程序特

3、点程序特点 1图形用户界面(窗口)统一、友好图形用户界面(窗口)统一、友好 2独立于设备的图形操作(独立于设备的图形操作(GUI) 3支持多任务机制(多线程)支持多任务机制(多线程) 4事件驱动的程序设计(消息队列机制)事件驱动的程序设计(消息队列机制) 5程序和资源分开、资源共享程序和资源分开、资源共享 6支持应用程序间的数据交换(剪贴板等)支持应用程序间的数据交换(剪贴板等)2021/3/2962 Windows程序特点(续)程序特点(续)n一个简单的一个简单的Windows程序程序#include #include #include #include intintintint CALLB

4、ACK WinMain( HINSTANCE hInstance, CALLBACK WinMain( HINSTANCE hInstance, CALLBACK WinMain( HINSTANCE hInstance, CALLBACK WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, HINSTANCE hPrevInstance, HINSTANCE hPrevInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, LPSTR lpCmdLine, LPSTR lpCmdLine

5、, LPSTR lpCmdLine, intintintint nCmdShow) nCmdShow) nCmdShow) nCmdShow) / / / / 产生一个问候小窗口产生一个问候小窗口产生一个问候小窗口产生一个问候小窗口 MessageBox ( NULL, “Hello World!”, MessageBox ( NULL, “Hello World!”, MessageBox ( NULL, “Hello World!”, MessageBox ( NULL, “Hello World!”, “Say Hello”, MB_OK ); “Say Hello”, MB_OK );

6、 “Say Hello”, MB_OK ); “Say Hello”, MB_OK ); returnreturnreturnreturn 1; 1; 1; 1; 2021/3/2973 Windows程序设计方法程序设计方法n传统式写法传统式写法 使用使用C语言语法规范的语言语法规范的API函数函数(Application Programming Interface)n交互式写法交互式写法使用使用C+语法规范的语法规范的MFC类库类库 (Microsoft Foundation Class) n其他写法其他写法使用模板技术等的使用模板技术等的ATL模板库模板库 (ActiveX Templa

7、te Library) 和和组件技术组件技术等等2021/3/2981.2.基本概念基本概念2021/3/2991 Windows程序及对象程序及对象nWindows应用程序使用的界面是由各种应用程序使用的界面是由各种图形元素组成的图形元素组成的图形界面图形界面n各个各个图形元素图形元素具有不同的功能具有不同的功能n应用程序的用户主要是通过应用程序的用户主要是通过键盘键盘和和鼠标鼠标对应用程序界面上的图形元素进行操作对应用程序界面上的图形元素进行操作来与来与Windows应用程序进行应用程序进行交互交互的的2021/3/29101 Windows程序及对象(续)程序及对象(续)n在在Windo

8、ws程序(系统)中,存在着许多程序(系统)中,存在着许多与与DOS应用程序不同的复杂应用程序不同的复杂对象对象n对象和句柄对象和句柄Windows的程序中,的程序中,对象对象是具有规范形态和是具有规范形态和操作模式的部件,例如窗口、按钮、滚动条等;操作模式的部件,例如窗口、按钮、滚动条等; Windows把为这种复杂对象所定义的标识叫把为这种复杂对象所定义的标识叫做做句柄,句柄,应用程序过句柄访问相应的对象信息。应用程序过句柄访问相应的对象信息。n句柄实际上在句柄实际上在C/C+中实现为中实现为指针指针(或认(或认为其一个长度为为其一个长度为4字节长整数值)字节长整数值)2021/3/2911

9、1 Windows程序及对象(续)程序及对象(续)常用常用句柄句柄类型类型HWNDHWND窗口句柄窗口句柄HINSTANCEHINSTANCE 当前实例句柄当前实例句柄HCURSORHCURSOR光标句柄光标句柄HFONTHFONT字体句柄字体句柄HPENHPEN画笔句柄画笔句柄HBRUSHHBRUSH画刷句柄画刷句柄HDCHDC设备环境句柄设备环境句柄HICONHICON图标句柄图标句柄HMENUHMENU菜单句柄菜单句柄HFILEHFILE文件句柄文件句柄 句柄句柄所标识所标识对象实例对象实例w窗口窗口w按钮按钮w图标图标w滚动条滚动条w输出设备输出设备w控件控件w文件文件w程序进程程序进

10、程w如此等等如此等等.2021/3/29122 数据类型别名数据类型别名nWindows应用程序中的数据量非常大,为应用程序中的数据量非常大,为了提高应用程序的可读性,了提高应用程序的可读性,Windows给许给许多基本数据类型定义了多基本数据类型定义了别名别名,例如:,例如:typedef void * HANDLE;typedef unsigned long DWORD;typedef int BOOL;typedef unsigned char BYTE;typedef unsigned short WORD;2021/3/29132 数据类型别名(续)数据类型别名(续)nWindows

11、应用程序还使用了一些结构类型应用程序还使用了一些结构类型的数据,例如:的数据,例如: typedefstructtagPOINTLONG x, y;POINT; / 描述了一个点的位置。描述了一个点的位置。2021/3/29143 窗口及其功能窗口及其功能n窗口窗口Windows程序界面的主要组成程序界面的主要组成n典型窗口及其构成典型窗口及其构成控制菜单框控制菜单框窗口边界窗口边界工作区工作区下拉菜单下拉菜单水平滚动条水平滚动条垂直滚动条垂直滚动条最大化按钮最大化按钮最小化按钮最小化按钮标题栏标题栏2021/3/29153 窗口及其功能(续)窗口及其功能(续)n窗口功能窗口功能1 系统对应用

12、程序系统对应用程序管理的基本单位管理的基本单位2 应用程序与用户之间应用程序与用户之间交互的接口环境交互的接口环境3 Window应用程序应用程序基本的操作单元基本的操作单元nWindows应用程序编程应用程序编程创建一个或多个窗口创建一个或多个窗口nWindows应用程序运行应用程序运行窗口内部、窗口与窗口之间、窗口与系统之间窗口内部、窗口与窗口之间、窗口与系统之间进行数据处理与交换的过程进行数据处理与交换的过程2021/3/29164 消息的概念消息的概念n消息消息应用程序与系统及其它应用程序进应用程序与系统及其它应用程序进行信息交换的数据结构行信息交换的数据结构n消息的三个组成部分:消息

13、的三个组成部分:n消息号:由事先定义好的消息名标识消息号:由事先定义好的消息名标识n字参数字参数(wParam) :提供消息的附加信息:提供消息的附加信息n长字参数长字参数(lParam) :提供消息的附加信息:提供消息的附加信息n附加信息附加信息与具体消息号的值有关与具体消息号的值有关2021/3/29174 消息的概念(续)消息的概念(续)n消息的结构消息的结构typedef structtypedef struct tagMSG tagMSG HWND hwnd; HWND hwnd; /窗口句柄,为null,则检索队的所有消息 UINT message UINT message;/消息

14、号,由Windows.h中的宏定义来标识 WPARAM wParam; WPARAM wParam; /消息的附加信息 LPARAM lParam; LPARAM lParam; /消息的附加信息 DWORD time; DWORD time; /指定消息送至队列的时间 POINT pt; POINT pt; /指定消息发送时屏幕光标的位置MSG;MSG;2021/3/29184 消息的概念(续)消息的概念(续)n系统能产生很多消息系统能产生很多消息n各种消息分类,分别以不同的前缀表示各种消息分类,分别以不同的前缀表示:WM WM 窗口消息窗口消息窗口消息窗口消息BM BM 按钮控制消息按钮控

15、制消息按钮控制消息按钮控制消息CB CB 组合框控制消息组合框控制消息组合框控制消息组合框控制消息DM DM 默认下压式按钮控制消息默认下压式按钮控制消息默认下压式按钮控制消息默认下压式按钮控制消息EM EM 编辑控制消息编辑控制消息编辑控制消息编辑控制消息LB LB 列表框控制消息列表框控制消息列表框控制消息列表框控制消息SBM SBM 滚动条控制消息滚动条控制消息滚动条控制消息滚动条控制消息2021/3/29194 消息的概念(续)消息的概念(续)n常见的常见的Windows消息有消息有2021/3/29205 事件及事件驱动事件及事件驱动n事件事件系统运行时发生的事情系统运行时发生的事情

16、n事件通常以以下三种方式产生:事件通常以以下三种方式产生:l l通过输入设备,如键盘和鼠标;通过输入设备,如键盘和鼠标;l l通通过过屏屏幕幕上上可可视视的的对对象象,如如菜菜单单、工工具具栏栏按按钮、滚动条和对话框上的控件;钮、滚动条和对话框上的控件;l l来来自自Windows内内部部,如如当当一一个个后后面面的的窗窗口口显示到前面来时。显示到前面来时。n事件的结果系统以消息的形式记录事件的结果系统以消息的形式记录n事件的结果即消息事件的结果即消息2021/3/29215 事件及事件驱动(续)事件及事件驱动(续)nWindows程序和系统是程序和系统是事件驱动事件驱动的,事件驱动的,事件驱

17、动也称消息驱动,事件驱动模型如下:也称消息驱动,事件驱动模型如下:2021/3/29225 事件及事件驱动(续)事件及事件驱动(续)n操作系统会用特定的机构管理消息操作系统会用特定的机构管理消息n消息队列消息队列作为结果的消息,系统以队列形式进行管理作为结果的消息,系统以队列形式进行管理n操作系统(软件程序)有监控机构、管理机操作系统(软件程序)有监控机构、管理机构、通讯机构等构、通讯机构等应用程序在这些机构的管理下运行应用程序在这些机构的管理下运行2021/3/29235 事件及事件驱动(续)事件及事件驱动(续)n支持队列特征的消息驱动模型支持队列特征的消息驱动模型2021/3/29246

18、API函数函数nWindows提供了大量预定义的用提供了大量预定义的用C语言编语言编写写的函数和数据结构集合,该集合叫的函数和数据结构集合,该集合叫API(Application Programming Interface)n早期的早期的Windows应用程序设计人员要使用应用程序设计人员要使用相应的相应的API函数来编写程序。函数来编写程序。n类型别名和类型别名和MSG等结构都包含在等结构都包含在API中中2021/3/29256 API函数(续)函数(续)n根据根据Windows API函数的功能,可以将其函数的功能,可以将其分为三类:分为三类: 1)管管理理函函数数:实实现现窗窗口口和和

19、其其它它对对象象的的创创建建、移动和修改等功能。移动和修改等功能。2)图图形形设设备备函函数数:实实现现与与设设备备无无关关的的图图形形操操作功能,可以实现图形绘制。作功能,可以实现图形绘制。3)系系统统服服务务函函数数:实实现现与与操操作作系系统统有有关关的的多多种功能,如进程线程管理、任务调度等。种功能,如进程线程管理、任务调度等。2021/3/29261.3.Win32程序基本结构程序基本结构2021/3/29271 应用程序的组成应用程序的组成nWindows 程序分为程序分为“程序代码程序代码”和和“UI(User Interface)资源)资源”两大部份两大部份所谓所谓 UI 资源

20、是指功能菜单、对话框外貌、程资源是指功能菜单、对话框外貌、程序图标、光标形状等序图标、光标形状等 n一个完整的一个完整的Windows应用程序通常包含如应用程序通常包含如下几种类型的文件:下几种类型的文件:nC/C+C/C+语言源程序文件语言源程序文件(.c.c或或.cpp.cpp)n头文件头文件(.h.h)n资源描述文件资源描述文件(.rc.rc)n模块定义文件模块定义文件(.def.def).2021/3/29281 应用程序的组成(续)应用程序的组成(续)n源程序组成源程序组成源程序主要由源程序主要由主函数主函数(入口函数)和(入口函数)和窗口函数窗口函数及其相关函数组成及其相关函数组成

21、nWinMain和和WinProc是是Win32源程序主体源程序主体n前者是应用程序的入口,类似前者是应用程序的入口,类似main函数函数入口函数入口函数WinMain窗口函数窗口函数WndProcWndProcWindows应用程序应用程序构成基构成基本框架本框架包含各种包含各种数据类型数据类型数据结构数据结构与函数等与函数等2021/3/29292 WinMain函数函数n三个基本的组成部分:三个基本的组成部分:n函数说明函数说明n初始化初始化n消息循环消息循环n功能功能n注册窗口类,建立窗口及初始化注册窗口类,建立窗口及初始化n进入消息循环,据消息调用相应的处理过程进入消息循环,据消息调

22、用相应的处理过程n当消息循环检索到当消息循环检索到WM_QUIT时终止程序运行时终止程序运行2021/3/29302 WinMain函数(续)函数(续)n函数(原型)说明函数(原型)说明注意!注意!Windows操作系统是多任务管理的,同一应用程操作系统是多任务管理的,同一应用程序可能同时存在多个窗口,序可能同时存在多个窗口,Windows系统对每个窗口的系统对每个窗口的执行称为一个实例,并用一个实例句柄来唯一标识它。执行称为一个实例,并用一个实例句柄来唯一标识它。int WINAPI WinMain int WINAPI WinMain ( ( HINSTANCE hThisInst,HIN

23、STANCE hThisInst,应用当前实例句柄应用当前实例句柄 HINSTANCe hPrevInst,HINSTANCe hPrevInst,应用其他实例句柄应用其他实例句柄 LPSTR lpszCmdLine, LPSTR lpszCmdLine, 指向命令行参数的指针指向命令行参数的指针 Int nCmdShowInt nCmdShow初始窗口显示方式的整数值标识初始窗口显示方式的整数值标识) )2021/3/29312 WinMain函数(续)函数(续)n初始化初始化初始化包括初始化包括窗口类的定义窗口类的定义、注册窗口类注册窗口类、创建窗口创建窗口和和显示窗口显示窗口四部分。需要

24、注意的是,四部分。需要注意的是,在显示窗口在显示窗口ShowWindow函数后,需调用函数后,需调用UpdateWindow函数更新并绘制用户区,并函数更新并绘制用户区,并发出发出WM_PAINT消息。消息。2021/3/29322 WinMain函数(续)函数(续)n消息循环消息循环应用程序通常有一段代码称为应用程序通常有一段代码称为消息循环消息循环,又,又称为称为消息泵消息泵,它是程序的动力结构,形式如下,它是程序的动力结构,形式如下MSG msg;/从消息队列中提取消息从消息队列中提取消息while (GetMessage(&msg, NULL, NULL, NULL) Translat

25、eMessage(&msg); /消息解释,如字符键的处理消息解释,如字符键的处理DispatchMessage(&msg); /将消息传送到指定窗口函数将消息传送到指定窗口函数 / 以上出现的函数都是以上出现的函数都是 Windows API 函数函数2021/3/29332 WinMain函数(续)函数(续)n消息循环中:消息循环中:函数函数GetMessage形式为:形式为:GetMessage(lpMSG, /指向指向MSG结构的指针结构的指针 hwnd, nMsgFilteMin, /用于消息过滤的最小消息号值用于消息过滤的最小消息号值 nMsgFilterMax /用于消息过滤的最

26、大消息号值用于消息过滤的最大消息号值)nGetMessage从消息队列中读取消息,并将消从消息队列中读取消息,并将消息放在息放在MSG结构中,结构中,返回零值,即检索到返回零值,即检索到WM_QUIT消息消息,程,程序结束循环并退出序结束循环并退出2021/3/29342 WinMain函数(续)函数(续)nDispatchMessage函数函数该函数负责将消息分发给窗口函数(可以理该函数负责将消息分发给窗口函数(可以理解为其解为其用指针间接调用了窗口过程用指针间接调用了窗口过程函数)函数)n在窗口产生过程中,要使用函数指针为窗在窗口产生过程中,要使用函数指针为窗口联系一个函数(通常为口联系一

27、个函数(通常为WndProc)nWndProc窗口函数是程序窗口函数是程序和用户交互的和用户交互的主要处理部分!主要处理部分!2021/3/29353 窗口函数窗口函数WinProcnWndProc函数由函数由一个或多个一个或多个switch语句组语句组成成。每一条。每一条case语句语句对应一种消息对应一种消息,当应,当应用程序接收到一个消息时,相应的用程序接收到一个消息时,相应的case语语句被激活并执行相应的响应程序模块。句被激活并执行相应的响应程序模块。WndProc包含了对各种可能接收到的消息的处理过程包含了对各种可能接收到的消息的处理过程定义了应用程序对接收到的不同消息的响应定义了

28、应用程序对接收到的不同消息的响应2021/3/2936窗口函数的一般形式如下:窗口函数的一般形式如下:LRESULT CALLBACK WndProc(LRESULT CALLBACK WndProc( HWND hwnd,HWND hwnd,UINT messgae,UINT messgae, WPARAM wParam,LPARAM lParam ) WPARAM wParam,LPARAM lParam ) switch(message)switch(message) message message为标识的消息为标识的消息 case case break; break; case cas

29、e WM_DESTROYWM_DESTROY: : PostQuitMessage(0);PostQuitMessage(0); default:default: return DefWindowProc(hwnd,message,wParam,lParam); return DefWindowProc(hwnd,message,wParam,lParam); return(0);return(0); 在消息处理程序段中一般都有对在消息处理程序段中一般都有对WM_DESTROYWM_DESTROY的处的处理理,该消息是关闭窗口时发出的。它向应用程序发该消息是关闭窗口时发出的。它向应用程序发出出

30、WM_QUITWM_QUIT消息,请求退出消息,请求退出处理函数处理函数:void void PostQuitMessage(int nExitCode)PostQuitMessage(int nExitCode) /nExitCode/nExitCode为应用程序的退出代码为应用程序的退出代码为未定义处理过程的消息提供缺省处理为未定义处理过程的消息提供缺省处理2021/3/29374 程序与系统之间的关系程序与系统之间的关系n操作系统监控机构操作系统监控机构感知事件并产生消息感知事件并产生消息n系统将消息发给活动窗口系统将消息发给活动窗口消息队列消息队列n应用程序拥有一个消息队列应用程序拥有

31、一个消息队列n程序处理过程:程序处理过程:消息泵消息泵获得消息获得消息GetMessage,然后,然后分发消分发消息息DispatchMessage给给窗口过程窗口过程WndProc(函数调用过程)作相应(函数调用过程)作相应处理处理返回,接下来再获返回,接下来再获取消息,如此循环重复,直到取消息,如此循环重复,直到GetMessage检检到到WM_QUIT消息返回消息返回0值。值。2021/3/29384 程序与系统之间的关系(续)程序与系统之间的关系(续) 2021/3/29391.4.完整程序示例完整程序示例2021/3/2940应用程序举例应用程序举例#include#include/

32、包含应用程序中所需的数据类型和数据结构的定义包含应用程序中所需的数据类型和数据结构的定义LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); /LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); /窗口函数说明窗口函数说明/- /- 以下初始化窗口类以下初始化窗口类 - -int WINAPI WinMain(int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hInstance, HINSTANCE hPrevInst,HINSTANCE hPre

33、vInst,LPSTR lpszCmdLine,LPSTR lpszCmdLine,int nCmdShowint nCmdShow) ) HWND hwnd ;HWND hwnd ; MSG Msg ;MSG Msg ; WNDCLASS wndclass ;WNDCLASS wndclass ; char lpszClassName = char lpszClassName = 窗口窗口;/窗口类名窗口类名 char lpszTitle= My_Windows; char lpszTitle= My_Windows;/窗口标题名窗口标题名2021/3/2941 /窗口类的定义窗口类的定义w

34、ndclass.style=0;wndclass.style=0;/窗口类型为缺省类型窗口类型为缺省类型wndclass.lpfnWndProc=WndProc;wndclass.lpfnWndProc=WndProc;/定义窗口处理函数定义窗口处理函数wndclass.cbClsExtra=0;wndclass.cbClsExtra=0;/窗口类无扩展窗口类无扩展wndclass.cbWndExtra=0;wndclass.cbWndExtra=0;/窗口实例无扩展窗口实例无扩展wndclass.hInstance=hInstance;wndclass.hInstance=hInstance

35、;/当前实例句柄当前实例句柄wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);/窗口的最小化图标为缺省图标窗口的最小化图标为缺省图标wndclass.hCursor=LoadCursor(NULL,IDC_ARROW) ;wndclass.hCursor=LoadCursor(NULL,IDC_ARROW) ;/窗口采用箭头光标窗口采用箭头光标wndclass.hbrBackground=GetStockObject(WHITE_BRUSH)wndclass.h

36、brBackground=GetStockObject(WHITE_BRUSH); ;/窗口背景为白色窗口背景为白色wndclass.lpszMenuName=NULL;wndclass.lpszMenuName=NULL;/窗口中无菜单窗口中无菜单wndclass.lpszClassName=lpszClassName ;wndclass.lpszClassName=lpszClassName ;/窗口类名为窗口类名为 窗口窗口 2021/3/2942 /- /- 以下进行窗口类的注册以下进行窗口类的注册 - -if(!RegisterClass( &wndclass)/if(!Regist

37、erClass( &wndclass)/如果注册失败则发出警告如果注册失败则发出警告 MessageBeep(0) ;MessageBeep(0) ; return FALSE ;return FALSE ; /- /- 创建窗口创建窗口 - - hwnd=CreateWindowhwnd=CreateWindow( (lpszClassName,lpszClassName, /窗口类名窗口类名lpszTitle,lpszTitle,/窗口实例的标题名窗口实例的标题名WS_OVERLAPPEDWINDOW,WS_OVERLAPPEDWINDOW, /窗口的风格窗口的风格CW_USEDEFAUL

38、T,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, /窗口左上角坐标为缺省值窗口左上角坐标为缺省值CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, /窗口的高和宽为缺省值窗口的高和宽为缺省值NULL,NULL,/此窗口无父窗口此窗口无父窗口NULL,NULL,/此窗口无主菜单此窗口无主菜单hInstance,hInstance,/创建此窗口的应用程序的当前句柄创建此窗口的应用程序的当前句柄NULL NULL /不使用该值不使用该值););2021/3/2943/- /- 显示窗口显示窗口 -

39、-ShowWindow( hwnd, nCmdShow) ;ShowWindow( hwnd, nCmdShow) ;/- /- 绘制用户区绘制用户区 - -UpdateWindow(hwnd);UpdateWindow(hwnd);/- /- 消息循环消息循环 - - while( GetMessage(&Msg, NULL, 0, 0)while( GetMessage(&Msg, NULL, 0, 0) TranslateMessage( &Msg) ;TranslateMessage( &Msg) ;DispatchMessage( &Msg) ;DispatchMessage( &M

40、sg) ; return Msg.wParam;return Msg.wParam;/消息循环结束即程序终止时将消息循环结束即程序终止时将信息返回系统信息返回系统 2021/3/2944/窗口函数窗口函数LRESULT CALLBACK WndProcLRESULT CALLBACK WndProc( (HWND hwnd,HWND hwnd,UINT message,UINT message,WPARAM wParam,WPARAM wParam,LPARAM lParamLPARAM lParam) ) switch(message)switch(message) case WM_DEST

41、ROY:case WM_DESTROY:PostQuitMessage(0);PostQuitMessage(0);default:default:/缺省时采用系统消息缺省处理函数缺省时采用系统消息缺省处理函数return DefWindowProc(hwnd,message,wParam,lParam);return DefWindowProc(hwnd,message,wParam,lParam); return(0);return(0); 调用调用PostQuitMessagePostQuitMessage发出发出WM_QUITWM_QUIT消息消息2021/3/2945 第第1章章 Windows编程基础知识编程基础知识 完完2021/3/2946

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号