Hello Jay,

Thanks for the input on this. It's been a pain for me. I actually do see what you're talking about, however, there seems to be an additional notification and that's the one that screws everything up.

For example, when I select one item initially in the list
new = 3, old = 0, item state = 3

when I deselect it, two notification are sent
new = 0, old = 3, item state = 0
new = 3, old = 0, item state = 3 <- why is this being sent?

So the second one screws things up and doesn't make any sense to me as it looks exactly like the status of the initial selected item (but only when I select one item). I get the item state like this:
Code:
GetItemState(iIndex, LVIS_SELECTED | LVIS_FOCUSED);
The condition before making the call is the 3,0,3. If I use multiple selections the flags are a bit different due to focus moving and so on, but it's something like this for the operation with the dialog when I select it:
0,1,2
2,0,2

then when I hit Cancel and call the deselect macro:
0,2,0
1,0,1

Basically what I need is:
- user selects operation
- operation pops up a dialog
- user hits cancel on dialog
- deselect operation

Sounds simple doesn't it.