In this particular application, the user needs a display of the current XY values for the current mouse position. We also need to show the XY values while dragging the zoom rectangle.
I worked around the missing feature by adding overrides for the following functions:
OnPlotAreaMouseDown
OnPlotAreaMouseUp
OnPlotAreaMouseMove
OnMouseDown
OnMouseUp
OnMouseMove
I set the track mode to TrackPlotAreaEvents. The plot area versions give me the graph XY coordinates and the regular ones give me screen coordinates. Since both sets get called, I have all the information I need do my own zooming, draw rubber-band, etc., and still get the current mouse position in graph units.
One interesting bug/feature I found - in the OnPlotAreaMouseUp callba
ck, it gets called with the Button value set to 0, which doesn't correspond to any of the defined button enum values. I didn't investigate it further - maybe it's because both callback handlers are registered.