I can hardly imagine an ArrayCtrl where you are interested in left clicks but not the position of them. At least you would be interested in the clicked row index, but adding column index too could not hurt. Since the clicked row is not always available through GetCursor (clicks below last row), would I need to subclass ArrayCtrl just to do exactly the thing that WhenLeftClick callback is for? How about adding a GetClickPosition() public method, which the WhenLeftClick can call?
OK, after some thinking, I agree, now on uvs2:
ArrayCtrl::
Point GetClickPos() const;
int GetClickColumn() const;
int GetClickRow() const;