2013/1/14 Nikolay Sivov bunglehead@gmail.com:
So on 64bit you want to distinguish two cases:
- ~0 value of lParam - you use it to reset to default values;
- all other values including 0xffffffff that will result in the same call
with both args being -1.
Unless I got something wrong, all other values including 0xffffffff will result in a call with both args being 65535. Since parameters are INTs now, 65535 != -1.
The tests show that: SendMessage(hwnd, LVM_SETICONSPACING, 0, MAKELPARAM(-1,-1)); results in default spacing on 32bit and (65535,65535) on 64bit. MAKELPARAM(-1,-1) == (DWORD)-1 MAKELONG(-1,-1) == -1