Article ID: 122219 - Last Review: November 21, 2006 - Revision: 2.1 INFO: CWnd::OnCommand() Parameters Documented IncorrectlyThis article was previously published under Q122219 On This PageSUMMARY
The online help and the "Class Library Reference" incorrectly describe the
CWnd::OnCommand() wParam and lParam as follows:
In Visual C++ 2.0wParam Identifies the command ID of the menu item or control.lParam The low-order word of lParam identifies the control that sends the message if the message is from a control. Otherwise the low-order word is 0. The high-order word of lParam specifies the notification message if the message is from a control. If the message is from an accelerator, the high-order word is 1. If the message is from a menu, the high-order word is 0. In Visual C++ 5.0wParam The low-order word of wParam identifies the command ID of the menu item or control. The high-order word of wParam specifies the notification message if the message is from a control. If the message is from an accelerator, the high-order word is 1. If the message is from a menu, the high-order word is 0.MORE INFORMATION
The description above is valid for Windows-based Applications, but it is
invalid for Win32-based Applications. The Win32 API widens the WPARAM type
to 32 bits and changes the packing of many of the messages. The parameters
for CWnd::OnCommand() should be documented as follows:
wParam The low-order word of wParam specifies the identifier of the
menu item, control, or accelerator. The high-order word
specifies the notification code if the message is from a
control. If the message is from an accelerator, the high-order
word is 1. If the message is from a menu, the high-order word
is 0.
lParam Handle (HWND) of the control sending the message if the message is from a control. Otherwise, this parameter is NULL. REFERENCES
For additional information concerning this issue, please consult the
following topics in the Online Help: "WM_COMMAND" and "MFC: Porting Tips".
APPLIES TO
| Article Translations
|

Back to the top
