How about ArrayCtrl with NoCursor? Is the cursor field updated to the last clicked row in this case, so that I can read it from WhenLeftClick action?
What if I want to take some action on middle button click?
I think a more generic solution would be something like a WhenClicked action which gets the mouse position in parameter, and would have a default proxy to WhenBar & WhenLeftClick & WhenLeftDouble.
Well, I believe that if your code depends on actual mouse position, it is much better to simply derive ArrayCtrl and override LeftDown....
In other words, following this path, we would ended with callbacks for each single virtual method of Ctrl.