面向对想程序设计2.ppt

  1. 1、本文档共94页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows编程基础 Windows程序内部运行原理 SDK方式编写Windows应用程序 Windows应用程序特性 CH1.1Windows程序内部运行原理 目标:理解Windows程序的运行机制 掌握以下基本概念 窗口 Windows API 消息与消息机制 消息响应 句柄 Windows应用程序,操作系统,计算机硬件输入输出设备之间的相互关系 Windows API 操作系统所能够完成的每一个特殊功能通常都有一个函数与其对应,也就是说,操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用(System call),这些函数的集合就是Windows操作系统提供给应用程序编程的接口(Application Programming Interface),简称Windows API。 Windows API Windows API的作用 是Windows系统与Windows应用程序间的标准程序接口 Windows应用程序可以利用标准大量API函数调用系统功能 窗口管理函数:实现窗口的创建、移动和修改功能 系统服务函数:实现与操作系统有关的多种功能 图形设备(GDI)函数:实现与设备无关的图形操作功能 消息响应 消息 消息结构体 第一个成员变量hwnd表示消息所属的窗口。我们通常开发的程序都是窗口应用程序,一个消息一般都是与某个窗口相关联的。例如,在某个活动窗口中按下鼠标左键,产生的按键消息就是发给该窗口的。在Windows程序中,用HWND类型的变量来标识窗口。 第二个成员变量message指定了消息的标识符。在Windows中,消息是由一个数值来表示的,不同的消息对应不同的数值。但是由于数值不便于记忆,所以Windows将消息对应的数值定义为WM_XXX宏(WM是Window Message的缩写)的形式,XXX对应某种消息的英文拼写的大写形式。例如,鼠标左键按下消息是WM_LBUTTONDOWN,键盘按下消息是WM_KEYDOWN,字符消息是WM_CHAR,等等。在程序中我们通常都是以WM_XXX宏的形式来使用消息的。 提示:如果想知道WM_XXX消息对应的具体数值,可以在Visual C++开发环境中选中WM_XXX,然后单击鼠标右键,在弹出菜单中选择goto definition,即可看到该宏的具体定义。跟踪或查看某个变量的定义,都可以使用这个方法。 第三、第四个成员变量wParam和lParam,用于指定消息的附加信息。例如,当我们收到一个字符消息的时候,message成员变量的值就是WM_CHAR,但用户到底输入的是什么字符,那么就由wParam和lParam来说明。wParam、lParam表示的信息随消息的不同而不同。如果想知道这两个成员变量具体表示的信息,可以在MSDN中关于某个具体消息的说明文档查看到。读者可以在VC++的开发环境中通过goto definition查看一下WPARAM和LPARAM这两种类型的定义,可以发现这两种类型实际上就是unsigned int和long。 最后两个变量分别表示消息投递到消息队列中的时间和鼠标的当前位置。 从变量的类型区分变量的用途 Windows对象 Windows窗口是Windows系统的一个内部数据结构的实例,由一个“窗口句柄”标识,Windows系统创建它并给它分配系统资源。 Windows Object是Windows系统的内部结构,是Windows的规范部件,包括各种窗口、菜单、按钮、对话框以及程序模块等,通过一个句柄来引用。 句柄(Handle) 句柄(HANDLE),Windows用来标识被应用程序建立或使用的Windows对象的一个唯一的整数值。 操作系统要管理和操作这些Windows对象(资源),都是通过句柄来找到对应的对象。按Windows对象的类型,又可将句柄细分成图标句柄(HICON),光标句柄(HCURSOR),窗口句柄(HWND),应用程序实例句柄(HINSTANCE)等等各种类型的句柄。 操作系统给每一个窗口指定的一个唯一的标识号(整数值)即窗口句柄。 消息结构体 主消息 由事先定义好的消息名标识 采用不同的前缀符号来区别能够解释和处理消息的窗口类型 WM_ 窗口消息 BM_ 按钮控制消息 CB_ 组合框控制消息 DM_ 默认下压式按钮控制消息 EM_ 编辑控制消息 LB_ 列表框控制消息 SMB_ 滚动条控制消息 附加消息 与主消息有关 wParam lParam 消息结构体 消息结构体 对于MSG这个结构体来说,它里面包含的信息是相当丰富的,它包含了对于一个消息来说,它和哪一个窗口相关,这个消息本身是什么

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档