14 Jan
2013
14 Jan
'13
9:43 p.m.
2013/1/14 Nikolay Sivov <bunglehead(a)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