2WINDOWS应用程序设计.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2WINDOWS应用程序设计.pdf》由会员分享,可在线阅读,更多相关《2WINDOWS应用程序设计.pdf(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、WINDOWS应用程序设计应用程序设计应用程序设计应用程序设计2010-08-242主要内容主要内容主要内容主要内容:?Windows的发展历史的发展历史的发展历史的发展历史?Windows操作系统特点操作系统特点操作系统特点操作系统特点?Windows应用程序设计特点应用程序设计特点应用程序设计特点应用程序设计特点?Windows源程序组成结构源程序组成结构源程序组成结构源程序组成结构?Windows应用程序开发工具应用程序开发工具应用程序开发工具应用程序开发工具2010-08-243Windows的发展历史的发展历史的发展历史的发展历史?Xerox公司研究机构公司研究机构公司研究机构公司研
2、究机构(PARC)?Apple Computer公司公司公司公司GUI系统系统系统系统(1、Apple Lisa,2、Apple Macintosh)?Microsoft公司公司公司公司GUI系统系统系统系统(X86 Windows1.0,1985?Windows3.0,1990.5?Windows3.1,1996?Windows95,1995)2010-08-244Windows操作系统特点操作系统特点操作系统特点操作系统特点?直观直观直观直观、高效的图形用户界面高效的图形用户界面高效的图形用户界面高效的图形用户界面,易学易用易学易用易学易用易学易用?用户界面统一用户界面统一用户界面统一用户
3、界面统一、友好友好友好友好、漂亮漂亮漂亮漂亮?丰富的设备无关的图形操作丰富的设备无关的图形操作丰富的设备无关的图形操作丰富的设备无关的图形操作(Windows的图形设备接口的图形设备接口的图形设备接口的图形设备接口GDI)?多任务多任务多任务多任务2010-08-245一个典型的一个典型的一个典型的一个典型的Windows程序程序程序程序2010-08-246Windows应用程序特点应用程序特点应用程序特点应用程序特点?传统的传统的传统的传统的MS-DOS程序主要采用顺序的程序主要采用顺序的程序主要采用顺序的程序主要采用顺序的、关联的关联的关联的关联的、过程驱动的程序设计方法过程驱动的程序设
4、计方法过程驱动的程序设计方法过程驱动的程序设计方法2010-08-2471、事件驱动事件驱动事件驱动事件驱动?事件驱动程序设计是一种全新的程序设事件驱动程序设计是一种全新的程序设事件驱动程序设计是一种全新的程序设事件驱动程序设计是一种全新的程序设计方法计方法计方法计方法,它不是由事件的顺序来控制它不是由事件的顺序来控制它不是由事件的顺序来控制它不是由事件的顺序来控制,而是由事件的发生来控制而是由事件的发生来控制而是由事件的发生来控制而是由事件的发生来控制2010-08-2482、图形界面图形界面图形界面图形界面?Windows的图形输出是由图形设备接口的图形输出是由图形设备接口的图形输出是由图
5、形设备接口的图形输出是由图形设备接口(GDI)来完成的来完成的来完成的来完成的,GDI是系统原始的图是系统原始的图是系统原始的图是系统原始的图形输出库形输出库形输出库形输出库,它用于在屏幕上输出像素它用于在屏幕上输出像素它用于在屏幕上输出像素它用于在屏幕上输出像素、在在在在打印机上输出硬拷贝以及绘制打印机上输出硬拷贝以及绘制打印机上输出硬拷贝以及绘制打印机上输出硬拷贝以及绘制Windows用用用用户界面户界面户界面户界面。2010-08-2493、面向对象面向对象面向对象面向对象?Windows支持丰富的用户接口对象支持丰富的用户接口对象支持丰富的用户接口对象支持丰富的用户接口对象,包包包包括
6、括括括:窗口窗口窗口窗口、图标图标图标图标、菜单菜单菜单菜单、对话框等等对话框等等对话框等等对话框等等。易于编程易于编程易于编程易于编程。2010-08-2410Windows应用程序中的关键名词应用程序中的关键名词应用程序中的关键名词应用程序中的关键名词?窗口窗口窗口窗口?事件驱动事件驱动事件驱动事件驱动?句柄句柄句柄句柄?消息消息消息消息2010-08-2411窗口边界窗口边界窗口边界窗口边界工作区工作区工作区工作区控制菜单框控制菜单框控制菜单框控制菜单框下拉菜单下拉菜单下拉菜单下拉菜单水平滚动条水平滚动条水平滚动条水平滚动条垂直滚动条垂直滚动条垂直滚动条垂直滚动条最大化按钮最大化按钮最大
7、化按钮最大化按钮最小化按钮最小化按钮最小化按钮最小化按钮标题栏标题栏标题栏标题栏WINDOWS应用程序应用程序应用程序应用程序:窗口窗口窗口窗口2010-08-2412编写一个编写一个编写一个编写一个Windows应用程序首先应创建一个或多个窗口应用程序首先应创建一个或多个窗口应用程序首先应创建一个或多个窗口应用程序首先应创建一个或多个窗口,随后随后随后随后应用程序的运行过程即是窗口内部应用程序的运行过程即是窗口内部应用程序的运行过程即是窗口内部应用程序的运行过程即是窗口内部、窗口与窗口之间窗口与窗口之间窗口与窗口之间窗口与窗口之间、窗口与窗口与窗口与窗口与系统之间进行数据处理与数据交换的过程
8、系统之间进行数据处理与数据交换的过程系统之间进行数据处理与数据交换的过程系统之间进行数据处理与数据交换的过程。应用程应用程应用程应用程序与用序与用序与用序与用户之间户之间户之间户之间交互的交互的交互的交互的接口环接口环接口环接口环境境境境系统管理系统管理系统管理系统管理应用程序应用程序应用程序应用程序的基本单位的基本单位的基本单位的基本单位Win应用程序应用程序应用程序应用程序基本的操作单元基本的操作单元基本的操作单元基本的操作单元2010-08-2413Windows应用程序应用程序应用程序应用程序:事件驱动事件驱动事件驱动事件驱动?事件驱动程序设计是一种全新的程序设事件驱动程序设计是一种全
9、新的程序设事件驱动程序设计是一种全新的程序设事件驱动程序设计是一种全新的程序设计方法计方法计方法计方法,它不是由事件的顺序来控制它不是由事件的顺序来控制它不是由事件的顺序来控制它不是由事件的顺序来控制,而是由事件的发生来控制而是由事件的发生来控制而是由事件的发生来控制而是由事件的发生来控制2010-08-2414?事件驱动围绕着消息的产生与处理展事件驱动围绕着消息的产生与处理展事件驱动围绕着消息的产生与处理展事件驱动围绕着消息的产生与处理展开开开开,一条消息是关于发生的事件的消息一条消息是关于发生的事件的消息一条消息是关于发生的事件的消息一条消息是关于发生的事件的消息。事件驱动是靠消息循环机制
10、来实现的事件驱动是靠消息循环机制来实现的事件驱动是靠消息循环机制来实现的事件驱动是靠消息循环机制来实现的。2010-08-2415Getmessage(&msg)将返回假值2010-08-2416句柄是一个句柄是一个句柄是一个句柄是一个4字节长的数值字节长的数值字节长的数值字节长的数值,用于标识用于标识用于标识用于标识应用程序中不同的应用程序中不同的应用程序中不同的应用程序中不同的对象对象对象对象和和和和同类对象中不同类对象中不同类对象中不同类对象中不同的实例同的实例同的实例同的实例窗口窗口窗口窗口按钮按钮按钮按钮图标图标图标图标滚动条滚动条滚动条滚动条输出设备输出设备输出设备输出设备控制控制
11、控制控制文件文件文件文件Windows应用程序应用程序应用程序应用程序:句柄句柄句柄句柄字体句柄HFONT画笔句柄HPEN菜单句柄HMENU画刷句柄HBRUSH图标句柄HICON光标句柄HCURSOR位图句柄HBITMAP实例句柄HINSTANCE设备环境句柄HDC窗口句柄HWND含义句柄类型含义句柄类型句柄可以理解为数据类型句柄可以理解为数据类型句柄可以理解为数据类型句柄可以理解为数据类型,表示内部表格的索引值表示内部表格的索引值表示内部表格的索引值表示内部表格的索引值2010-08-2417Windows程序的命名规则程序的命名规则程序的命名规则程序的命名规则1?变量的匈牙利命名规则m_i
12、Num类成员变量m_iCount,iNumintihWnd,hDlg,hBrushhandlehdwFlagsDWORDdwcsName,csLabelCStringcsCString,CmainClassCchArray,chTextcharchbIsPresent,bValidBooLeanb例子数据类型前缀2010-08-2418Windows程序的命名规则程序的命名规则程序的命名规则程序的命名规则2?图形资源符号前缀图形资源符号前缀图形资源符号前缀图形资源符号前缀IDS_CAUTION字符串IDS_IDR_MAINFRAM多种类型共享的资源IDIDR_IDP_SEARCH_FOR消息框
13、提示IDP_IDI_APP_ICON图标资源IDI_IDD_SEARCH对话框资源标识符IDD_IDC_REPORT对话框控件IDC_IDC_TARGET_CURSOR光标资源IDC_IDB_LOGO位图资源IDB_ID_TOOL_SEARCH菜单项或工具栏按钮ID_例子符号类型前缀2010-08-2419Windows应用程序应用程序应用程序应用程序:消息消息消息消息?所有的所有的所有的所有的Windows应用程序都是应用程序都是应用程序都是应用程序都是事件驱动事件驱动事件驱动事件驱动的的的的;?消息处理消息处理消息处理消息处理是是是是windows应用程序的核心应用程序的核心应用程序的核心
14、应用程序的核心;?消息就是操作系统通知应用程序某件事情已经消息就是操作系统通知应用程序某件事情已经消息就是操作系统通知应用程序某件事情已经消息就是操作系统通知应用程序某件事情已经发生的一种方式发生的一种方式发生的一种方式发生的一种方式;?当用户键入当用户键入当用户键入当用户键入、移动鼠标或双击鼠标移动鼠标或双击鼠标移动鼠标或双击鼠标移动鼠标或双击鼠标,或者用户或者用户或者用户或者用户改变窗口的大小改变窗口的大小改变窗口的大小改变窗口的大小,都将向适当的窗口发送消息都将向适当的窗口发送消息都将向适当的窗口发送消息都将向适当的窗口发送消息?一个窗口可以向另一个窗口发送消息一个窗口可以向另一个窗口发
15、送消息一个窗口可以向另一个窗口发送消息一个窗口可以向另一个窗口发送消息,并且大并且大并且大并且大多数窗口通过向其他窗口发送一个稍有不向的多数窗口通过向其他窗口发送一个稍有不向的多数窗口通过向其他窗口发送一个稍有不向的多数窗口通过向其他窗口发送一个稍有不向的消息来响应消息消息来响应消息消息来响应消息消息来响应消息。?与所有的与所有的与所有的与所有的Windows应用程序一样应用程序一样应用程序一样应用程序一样,MFC应用应用应用应用程序也要处理消息程序也要处理消息程序也要处理消息程序也要处理消息2010-08-2420Windows应用程序利用应用程序利用应用程序利用应用程序利用Windows消
16、息消息消息消息(Message)与应用程序及系统进行信息交换与应用程序及系统进行信息交换与应用程序及系统进行信息交换与应用程序及系统进行信息交换。typedeftypedeftypedeftypedef structstructstructstruct tagMSGtagMSGtagMSGtagMSGHWND HWND HWND HWND hwndhwndhwndhwnd;窗口句柄窗口句柄窗口句柄窗口句柄UINT message;UINT message;UINT message;UINT message;消息值消息值消息值消息值,由由由由Windows.h头文件中的宏定义来标识头文件中的宏定
17、义来标识头文件中的宏定义来标识头文件中的宏定义来标识WPARAM WPARAM WPARAM WPARAM wParamwParamwParamwParam;包含有关消息的附加信息包含有关消息的附加信息包含有关消息的附加信息包含有关消息的附加信息,不同消息其值有所不同不同消息其值有所不同不同消息其值有所不同不同消息其值有所不同LPARAM LPARAM LPARAM LPARAM lParamlParamlParamlParam;DWORD time;DWORD time;DWORD time;DWORD time;指定消息送至队列的时间指定消息送至队列的时间指定消息送至队列的时间指定消息送至
18、队列的时间POINT pt;POINT pt;POINT pt;POINT pt;指定消息发送时屏幕光标的位置指定消息发送时屏幕光标的位置指定消息发送时屏幕光标的位置指定消息发送时屏幕光标的位置,其数据类型其数据类型其数据类型其数据类型POINT也是一个结构也是一个结构也是一个结构也是一个结构体体体体MSG;MSG;MSG;MSG;消息号消息号消息号消息号:由事先定义好的消息名标识由事先定义好的消息名标识由事先定义好的消息名标识由事先定义好的消息名标识字参数字参数字参数字参数(wParam):用于提供消息的用于提供消息的用于提供消息的用于提供消息的附附附附加信息加信息加信息加信息长字参数长字参
19、数长字参数长字参数(lParam):用于提供消息的用于提供消息的用于提供消息的用于提供消息的附加信息附加信息附加信息附加信息消消消消息息息息typedeftypedeftypedeftypedef structstructstructstructtagPOINTtagPOINTtagPOINTtagPOINTLONG xLONG xLONG xLONG x;LONG y;LONG y;LONG y;LONG y;POINT;POINT;POINT;POINT;Windows应用程序应用程序应用程序应用程序:消息消息消息消息2010-08-2421标准标准标准标准Windows 消息值消息值消息
20、值消息值?键盘消息WM_KEYDOWN、WM_KEYUP、WM_CHAR?鼠标消息WM_MOUSEMOVE、WM_RBUTTONDOWN、WM_LBUTTONDOWN、WM_LBUTTONDBLCLICK?窗口消息WM_PAINT、WM_TIMER2010-08-2422Windows应用程序组成应用程序组成应用程序组成应用程序组成?1.C,CPP源程序文件源程序文件源程序文件源程序文件:源程序文件包含了应用源程序文件包含了应用源程序文件包含了应用源程序文件包含了应用程序的数据程序的数据程序的数据程序的数据、类类类类、功能逻辑模块功能逻辑模块功能逻辑模块功能逻辑模块(包括事件处包括事件处包括事
21、件处包括事件处理理理理、用户界面对象初始化以及一些辅助例程用户界面对象初始化以及一些辅助例程用户界面对象初始化以及一些辅助例程用户界面对象初始化以及一些辅助例程)的定义的定义的定义的定义。?2.H,HPP头文件头文件头文件头文件:头文件包含了头文件包含了头文件包含了头文件包含了CPP、C源文源文源文源文件中所有数据件中所有数据件中所有数据件中所有数据、模块模块模块模块、类的声明类的声明类的声明类的声明。当一个当一个当一个当一个CPP、C源文件要调用另一个源文件要调用另一个源文件要调用另一个源文件要调用另一个CPP、C中所定义的模中所定义的模中所定义的模中所定义的模块功能时块功能时块功能时块功能
22、时,需要包含那个需要包含那个需要包含那个需要包含那个CPP、C文件对应的文件对应的文件对应的文件对应的头文件头文件头文件头文件。?3.资源文件资源文件资源文件资源文件2010-08-2423?Windows应用程序的生成同应用程序的生成同应用程序的生成同应用程序的生成同DOS下类似下类似下类似下类似,也要经过编译也要经过编译也要经过编译也要经过编译、链接两个阶段链接两个阶段链接两个阶段链接两个阶段,只是增加只是增加只是增加只是增加了资源编译过程了资源编译过程了资源编译过程了资源编译过程,基本流程如下图基本流程如下图基本流程如下图基本流程如下图:2010-08-2424入口函数入口函数入口函数入
23、口函数WinMain窗口函数窗口函数窗口函数窗口函数WndProcWndProcWndProcWndProcWindows应用程序应用程序应用程序应用程序构成基构成基构成基构成基本框架本框架本框架本框架包含各种包含各种包含各种包含各种数据类型数据类型数据类型数据类型、数据结构数据结构数据结构数据结构与函数等与函数等与函数等与函数等1.所有应用程序的入口所有应用程序的入口所有应用程序的入口所有应用程序的入口,类似类似类似类似Main函数函数函数函数,2.完成一系列的定义和初始化完成一系列的定义和初始化完成一系列的定义和初始化完成一系列的定义和初始化,并产生消息循环并产生消息循环并产生消息循环并产
24、生消息循环WinMain和和和和WndProc是是是是Windows应用程序的主体应用程序的主体应用程序的主体应用程序的主体WINDOWS源程序组成结构源程序组成结构源程序组成结构源程序组成结构2010-08-2425(1)WinMain函数函数函数函数三个基本的组成部分三个基本的组成部分三个基本的组成部分三个基本的组成部分:函数说明函数说明函数说明函数说明、初始化初始化初始化初始化和和和和消息循环消息循环消息循环消息循环功能功能功能功能注册窗口类注册窗口类注册窗口类注册窗口类,建立窗口及执行必要的初始化建立窗口及执行必要的初始化建立窗口及执行必要的初始化建立窗口及执行必要的初始化进入消息循环
25、进入消息循环进入消息循环进入消息循环,根据接受的消息调用相应的处理过程根据接受的消息调用相应的处理过程根据接受的消息调用相应的处理过程根据接受的消息调用相应的处理过程当消息循环检索到当消息循环检索到当消息循环检索到当消息循环检索到WM_QUIT时终止程序运行时终止程序运行时终止程序运行时终止程序运行WinMain函数函数函数函数WinMain函数说明函数说明函数说明函数说明WinMain函数的说明如下函数的说明如下函数的说明如下函数的说明如下:intintintint WINAPI WINAPI WINAPI WINAPI WinMainWinMainWinMainWinMain(HINSTA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WINDOWS 应用 程序设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内