The MAKELONG macro creates an unsigned 32-bit value by concatenating two given 16-bit values.
DWORD MAKELONG(
WORD wLow, // low-order word of long value
WORD wHigh // high-order word of long value
);
Parameters
wLow
Specifies the low-order word of the new long value.
wHigh
Specifies the high-order word of the new long value.
Return Values
The return value is an unsigned 32-bit value.
Remarks
The MAKELONG macro is defined as follows:
#define MAKELONG(a, b) /
((LONG) (((WORD) (a)) | ((DWORD) ((WORD) (b))) << 16))
DWORD MAKELONG(
WORD wLow, // low-order word of long value
WORD wHigh // high-order word of long value
);
SendMessage(hWnd,WM_LBUTTONDOWN,NULL,MAKELONG(x*cxBlock,y*cyBlock));
处理消息: x = LOWORD(lParam)/cxBlock;
y = HIWORD(lParam)/cyBlock;