- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 Windows系统的消息机制
对诸如PowerBuilder(后文简写为PB)、Visual Basic和Delphi等大多数可视
化程序设计语言来讲,程序设计的核心是对象的事件、属性和方法,但对Windows
系统本身而言,却是以消息处理为其控制机制。Windows把系统中的对象都作为窗口
来对待,每个窗口都有一个用来标识其身份的句柄。Windows通过向窗口发送消息,
在开发语言中转化为对象的事件,然后驱动对象,响应用户的动作。在许多面向对
象的可视化程序设计语言中,Windows的众多消息已经演变成了对象的属性或方法。
本章内容包括Windows系统的消息机制、消息的发送、消息的应用实例等。
1.1 Windows的工作机制
1.1.1 Windows 的工作方式——窗口、事件和消息
全面地讨论Windows的内部工作机制需要很大的篇幅,对于一般的PB用户当然没
有必要深入了解所有的技术细节。Windows系统的工作机制,简单地说就是3个关键
的概念:窗口、事件和消息。
不妨简单地将窗口看做带有边界的矩形区域。读者也许已经了解多种不同类型
的窗口,如Windows系统的“资源管理器”窗口、文字处理程序中的文档窗口或者弹
出提示有约会信息的消息对话框窗口等。除了这些最普通的窗口外,实际上还有许
多其他类型的窗口。命令按钮是一个窗口,图标、文本框、选项按钮和菜单条也都
是窗口。
Windows 操作系统通过给每一个窗口指定一个惟一的标识号(窗口句柄,常用
hWnd表示)来管理所有的窗口。操作系统连续地监视每一个窗口的活动或事件的信
号。事件可以通过诸如单击鼠标或按下按键的操作而产生,也可以通过程序的控制
而产生,甚至可以由另一个窗口的操作而产生。
每发生一次事件,将引发一条消息发送至操作系统。操作系统处理该消息并广
播给其他窗口。然后,每一个窗口才能根据自身处理该条消息的指令而采取适当的
操作(例如,当窗口解除了其他窗口的覆盖时,重新绘制自身窗口)。
可以想象,处理各种窗口、事件和消息的所有可能的组合将有惊人的工作量。
幸运的是,PB使用户摆脱了所有的低层消息处理。许多消息由PB自动处理了,其他
的作为事件过程由编程者自行处理,这样可以快速创建强大的应用程序,而毋需涉
及不必要的细节。
1.1.2 句柄的概念
在解释消息之前,首先了解系统如何准确地将消息发送到指定的窗口。当一个
应用或多个应用运行后,会同时创建许多个窗口,Windows作为系统的“大总管”,
那么它又是如何识别每一个窗口呢?在程序设计时,通过窗口的名称属性,为每个
窗口命名,然后在程序其他部分把窗口名作为识别窗口的标识。这种通过为窗口命
名来识别不同窗口的方法,对Windows系统来讲显然是不现实的。Windows系统是通
过称之为句柄的标识符来识别每一个窗口。
句柄是系统动态分配给窗口的32位整型数标识值,常用hWnd表示,即英文handle
to a window的缩写。大量API函数都需要窗口句柄作参数,或返回一个窗口或设备
场境的句柄。句柄可以通俗地理解为Windows为系统中所有存在的窗口动态分配的身
份识别号码。
在PB中,可以通过handle函数来取得窗口和控件的句柄,当声明API函数时,常
把保存句柄的变量声明为Long或Ulong长整型数据类型。Windows为窗口和控件分配
句柄标识是动态,同样的程序每次运行时和在不同计算机上运行时所分配的窗口句
柄标识可能是完全不一样的。
窗口的句柄属性仅能在运行时访问,该属性对窗口的外观并没有任何影响,它
仅作为API函数调用的参数或返回值,或其他需识别窗口或对象的地方。在后面章节
中,读者将会看到几乎所有涉及窗口的API函数都需要传递hWnd参数,以便函数准确
获得用户要处理的窗口或对象。
句柄作为由操作系统定义的惟一的长整型值,可以用它来引用窗体和控件等对
象。在Windows系统中,API函数的调用常用的句柄包括窗口句柄,菜单句柄、设备
对象句柄、设备场景句柄,等等。如果函数需要用句柄作为参数,则应该把参数声
明为传值,对于返回句柄的API函数,应将返回的句柄值声明为Long或Ulong类型数
据类型。句柄是一种标识符(ID)编号,而不是指针或者数值,不要试图对它们进
行任何数学运算。
1.1.3 消息的概念
Windows系统是以消息处理为其控制机制,系统通过消息为窗口过程(windows
procedure)传递输入。系统和应用两者都可以产生消息。对于每个输入事件,例如
用户
您可能关注的文档
- 乘客发现车厢内吹出柔和地风.PDF
- 不90后一起愉快地玩.PDF
- 不败地国足才是亚洲地希望.PDF
- 《草虫地村落》教学设计.doc
- 不抱怨地世界.PDF
- 《穿越时空地思念》.PDF
- 产量上限能够考虑利比亚和尼日利亚地实际情况。.PDF
- 不产凤梨地观赏凤梨.PDF
- 《等腰三角形地识别》教学设计.doc
- 不产卵地鱼儿.PDF
- DB44_T+2767-2025河口海湾总氮、总磷水质评价指南.docx
- 中医药科技成果转化评价技术规范.docx
- DB44_T+2750-2025农村供水工程数字化建设技术导则.docx
- DB44_T+2769-2025金属矿山生态修复技术规范.docx
- 镁合金航天航空零部件长效防护微弧氧化膜层工艺规范.docx
- 《甘青青兰中绿原酸和胡麻苷含量的测定 高效液相色谱法》发布稿.pdf
- DB44_T+753-2025声环境质量自动监测技术规范.docx
- 信息技术 智算服务 异构算力虚拟化及池化系统要求.docx
- DB44_T+2759-2025黄荆栽培技术规程.docx
- 废生物制药溶媒再生乙腈.docx
原创力文档


文档评论(0)