在用Platform SDK或者MFC进行Windows程序设计的过程当中,我们经常会使用到PostMessage和SendMessage这两个函数来给窗口过程发送消息。在发送消息的过程当中我们往往会随消息传递我们需要使用到的一些参数或者某些值,这些参数或者值就可以被封装到消息的附加参数wParam和lParam当中。
我们可以使用MAKEWPARAM和MAKELPARAM这两个宏分别将参数放到wParam和lParam的高/低16位当中,例如我们要将CPoint类的一个对象point的x和y坐标的值放入lParam中,我们可以按如下方法使用MAKELPARAM宏:
MAKELPARAM(point.x,point.y); //其中point.x放入lParam的低16位中,point.y放入lParam的高16位中
MAKEWPARAM宏的使用方法同MAKELPARAM。
如果我们在消息响应函数或者窗口过程当中要使用到lParam中高位字和低位字所存放的数值的时候,我们可以分别使用下面两个宏来取得高/低位字里面的内容:
LOWORD(lParam) //取得point.x
HIWORD(lParam) //取得point.y