В 32-битовом коде Windows вам требуется изменить способ распаковки данных сообщения из lParam и wParam. В Win32 wParam вырастает в размере с 16 до 32 бит, в то время как lParam сохраняет
размер 32 бита. Так как lParam в 16-разрядной Windows часто содержит описатель и другое значение, а в Win32 описатель увеличивается до 32 бит, необходима новая схема упаковки wParam и lParam.
В качестве примера сообщения, на которое влияют изменения в
размере параметра, можно привести WM_COMMAND. В Windows 3.x
wParam содержит 16-битовый идентификатор, а lParam - 16-битовый
описатель окна и 16-битовую команду.
В Win32 lParam содержит только 32-битовый описатель окна.
16-битовая команда перемещается из lParam в младшие 16 бит
wParam, а старшие 16 бит wParam содержат идентификатор. Эта новая
схема означает, что вам нужно изменить способ извлечения информации из этих параметров, для чего используются обработчики сообщений.
Обработчик сообщений предоставляет переносимый способ извлечения сообщений из wParam и lParam. В зависимости от вашей среды
(16-битовой Windows или Win32) обработчики сообщений используют
разные методы выделения из сообщений данных. Использование макрокоманд обработки сообщений обеспечит функционирования кода выделения данных из сообщения на любой из двух платформ.