Access to the objects contained in a canvas

I would like to access to the objects contained in a canvas. The question is: how is possible to know in which pad is present a particular object (for example, a TAxis and so on)?

I receive only the pointer of the object by means of the

DrawStatusBar(Int_t event, Int_t px, Int_t py, TObject *selected)

event management).

I Think that it is possible to use FindObject().
I know the pointer of the canvas, but if I have a lot of pads into my canvas (for example, with a Divide(M,N) ) I’m not able to know how many subpads are present because I have not found this information in TVirtualPad, TPad or TCanvas.
Is there a method to get this information?
Is there a list of subpads of a canvas or, more general, a list of ALL the pads contained into a canvas (in addition to the subpads generated with Divide())?

Thank you very much
Andrea Bulgarelli

The same object may be drawn in several pads. You cannot find the pad (which pad?) by having only the pointer to the object.

However when DrawStatus is called, you can use the global variable gpad that points to the pad currently traversed by the mouse.