http://bugs.winehq.org/show_bug.cgi?id=24514
--- Comment #5 from Austin Lund austin.lund@gmail.com 2010-09-26 03:55:52 CDT --- (In reply to comment #4)
You need LVM_GETITEMRECT and then 'y = (top - bottom)/2' to be placed half item height outside list visible area.
I get the following from LVM_SUBITEMHITTEST:
-y coord return
37 to ?? 1 4 to 36 0 -13 to 3 -1 -30 to -14 -2 -31 to -47 -3 -48 to ?? -4
which has a difference of 16 except for zero which is double this. The vertical spacing from LVM_GETITEMSPACING is 17 (off by one?). LVM_GETITEMRECT does appear to have an overlap as for me in this case as item 1 has top 37 bottom 54, but item 0 has top 20 bottom 37. Perhaps LVM_GETITEMSPACING just subtracts these without taking the overlap into account.
I think this is enough to write a test.