2013/1/14 Nikolay Sivov <bungleh...@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