当前位置:首页 >娱乐 >一篇文章学会用户自定义消息及层次划分 > 应用程序(具体来说

一篇文章学会用户自定义消息及层次划分 > 应用程序(具体来说

2024-06-30 17:53:27 [百科] 来源:避面尹邢网

一篇文章学会用户自定义消息及层次划分

作者:漫漫开发路 开发 前端 由于 winuser.h 头文件是篇文由窗口管理器团队编写的,因此他们从窗口管理器的章学角度看世界也就不足为奇了。因此,用户自窗口管理器外部的定义所有内容都是“用户定义的”,窗口管理器内部的消息所有内容都是“保留的”。

有些人对术语 WM_USER 表示消息范围基的及层名称有不同的意见,因为 WM_USER 是次划由窗口类的实现者来定义的。他们抱怨的篇文是,用户不能使用它们,章学因为它们属于窗口类定义的用户自一部分。

但是定义,问题是消息,”这里的及层用户是谁?” 换句话说,当我们说”用户自定义”这个词的次划时候,做自定义操作的篇文这个用户到底是指谁?

一篇文章学会用户自定义消息及层次划分 > 应用程序(具体来说

在上面这个问题中,总共有四个不同的组件涉及其中,每个组件都有它自己的消息范围。

一篇文章学会用户自定义消息及层次划分 > 应用程序(具体来说

>窗口管理器处理 WM_USER 之下的消息。

一篇文章学会用户自定义消息及层次划分 > 应用程序(具体来说

> 窗口类的实现者处理 WM_USER 到 WM_APP – 1 之间的消息。

> 应用程序(具体来说,就是创建窗口的代码)处理 WM_APP 到 MAXINTATOM – 1 之间的消息。

> 所有其他组件通过 RegisterWindowMessage 处理 MAXINTATOM 到 MAXWORD 之间的消息。

用户是谁?这取决于你是站在哪个角度来如何理解这个问题的。

从窗口管理器的角度来看,窗口类的实现者是用户,因为窗口类的代码会调用窗口管理器。

从窗口类的实现者的角度来看,应用程序是用户,因为它调用了窗口类。

那如果从应用程序的角度来看,所有的外部代码就是用户了,因为外部代码会调用应用程序。

相反,你可以“向上”查找列表,并观察到从每个组件的角度来看,属于其上方组件的消息是“保留”的。

从类实现者的角度来看,窗口管理器消息是保留的。从应用程序的角度来看,类实现者的消息是保留的。从所有外部程序的角度来看,应用程序的消息是保留的。让我们来看看下图,帮助理解。

每个框将属于其内框的消息视为保留;相反,每个内框将下一个外框视为其“用户”。

由于 winuser.h 头文件是由窗口管理器团队编写的,因此他们从窗口管理器的角度看世界也就不足为奇了。因此,窗口管理器外部的所有内容都是“用户定义的”,窗口管理器内部的所有内容都是“保留的”。

当然,如果从类实现者的角度来看,那么“保留”和“用户”这两个词的上下文就会发生变化。例如,你可以在对话框常量 DWLP_USER 中看到这一点,该常量是对话框的“用户”可以使用的窗口字节的索引;即,通过应用程序的对话过程。

总结

简化一个复杂的问题,可以通过划分层次的思路来将其分成一个一个的小问题。人生也是如此。

责任编辑:武晓燕 来源: 今日头条 自定义消息管理器

(责任编辑:热点)

    推荐文章
    热点阅读