Seems to work, but if I put a breakpoint in this function, then move from item 2 to item 0, it gets to the breakpoint 3 times. First 2 times pNMListView->iItem is still 2, and it gets to 0 the third time.
I can do a workaround for this, but it's a bit stupid that it happens. It doesn't happen...