The documentation for WM_NOTIFY is easy enough to find, however I'm finding a fair amount of sample code and articles that refer to WM_REFLECT_NOTIFY
, for which I can't find any documentation.
What is WM_REFLECT_NOTIFY
, where can I find the documentation for it and how is this message different from WM_NOTIFY
?
Example references:
WM_REFLECT_NOTIFY
is referred to as having value of0x204E
, that is0x2000
+WM_NOTIFY
. Typical use of message reflection is to send back notification to its origin so that supposedly subclassed control could handle notification itself.Hence the knowledge you are possibly missing and looking documentation for is that the control sends
WM_NOTIFY
to its parent in a regular way. And the parent doesSendMessage
with the same message parameters back to the control using message number0x2000
+ originalMsg
. The meaning of the parameterswParam
,lParam
is supposed to be the same of original message (WM_NOTIFY
in your case).The constant
0x2000
might possibly vary from framework to framework or be otherwise private agreement between controls and hosting windows.MFC and ActiveX controls, for instance, reflect
WM_NOTIFY
messages making themOCM_NOTIFY
messages, where (olectl.h):and finally (winuser.h):
That is, the
OCM_NOTIFY
is0x204E
, just as yourWM_REFLECT_NOTIFY
. The MSDN docs on those from here: Reflected Window Message IDs.