WM_NOTIFY的文档很容易找到,但是我找到了大量的引用WM_REFLECT_NOTIFY
的示例代码和文章,我找不到任何文档。< / p>
什么是WM_REFLECT_NOTIFY
,我在哪里可以找到它的文档以及此消息与WM_NOTIFY
的不同之处?
示例参考:
答案 0 :(得分:2)
WM_REFLECT_NOTIFY
被称为具有0x204E
的值,即0x2000
+ WM_NOTIFY
。消息反射的典型用法是将通知发送回其原点,以便据称子类控件可以自己处理通知。
因此,您可能缺少的知识和查找文档是控件以常规方式将WM_NOTIFY
发送给其父级。并且父级使用消息编号SendMessage
+原始0x2000
将相同的消息参数返回到控件Msg
。参数wParam
,lParam
的含义应与原始消息(在您的情况下为WM_NOTIFY
)相同。
常量0x2000
可能因框架而异,或者是控件和托管窗口之间的私密协议。
MFC和ActiveX控件反映WM_NOTIFY
条消息,使它们成为OCM_NOTIFY
条消息,其中(olectl.h):
#define OCM_NOTIFY (OCM__BASE + WM_NOTIFY)
#define OCM__BASE (WM_USER+0x1c00)
最后(winuser.h):
#define WM_USER 0x0400
也就是说,OCM_NOTIFY
为0x204E
,就像您的WM_REFLECT_NOTIFY
一样。 MSDN上的文档来自此处:Reflected Window Message IDs。