![]() |
1
5
据我所知-不。 每一个窗口消息都是一个罕见和独特的东西,可以在许多方面有所不同。有些消息需要发布,另一些则需要发送。 一些消息是对用户window proc的通知,其他消息是对defxxxwindowproc处理程序的命令-defwindowproc、defdlgproc、defmdichildproc等。 有些在对话和窗口过程中处理相同,有些必须以不同的方式处理。 wm_settext和wm_setredraw实际上是defwindowproc用来修改wnd结构中内部数据结构的命令。 wm_大小只是一个通知-由defwindowproc发送到它自己的窗口-响应wm_windowposchanged。 wm_mousexx消息需要发布,而不是发送,因为Windows经常进入使用getmessage/peekmessage读取消息并直接处理而不是发布消息的模式状态。 很多信息 看 与通知类似,但必须始终传递给defwindowproc,因为它们“秘密”用于实现窗口管理器。(wm激活和朋友)。 大多数消息都可以在对话过程中通过返回false(或true)来处理,有些结果有意义的消息需要使用setdlgresult,其他消息则自动处理(wm_ctlcolor*)作为对话过程。 知道 dialogproc的非零结果对应于要返回的lresult。 有些(wm_syscommand)根本不是发送给窗口的真正消息,只是由defwindowproc处理以执行窗口管理器类型的操作(平铺桌面等)。 官方文件中没有对这些差异进行分类的真正尝试。
具体解决
|
![]() |
PHPLover · “支持PHP扩展或功能的端口”实际上是什么意思? 1 年前 |