Well, it's actually the class browser that Mike describes. And while it's name suggests it's for inspecting classes, it can also inspect SCX forms, not just form classes stored in a VCX:
So the steps mended are:
1. Open Class Browser (also in the tools menu
2. Click the "open" button in the Object Browser's toolbar (second button from the left).
You'll be prompted for a file, in the first place a VCX, so:
3. In the resulting File Open dialogue, set the "File of Type" control to Form.
Now you'll see SCX files listed.
4. Navigate and open to the form you are interested in.
For example I opened image.scx from the solution project:
5. Click the "View class code" button in the Object Browser's toolbar (fourth button from the left).
As highlighted in the image above.
6. You will now see an editing window. This contains code to generate the form, which you will probably not be interested in, but it also includes the actual code of all the events and methods of the form - all in one place.
And as I added to Mikes post, you find several object that are classes which have class code, that is inherited and such inherited code will not show, even not in the overview of "all" form code.
In the image.scx view code one line is:
ADD OBJECT behindscenes1 AS behindscenes
Well, and behindscenes is a commandbutton class that's defined in solution.vcx, you can see that in the Class browser, too, using it interactively:
And double clicking it opens up solution.vcx (a VCX is a visual class library) in the left hand treeview of the class browser. From which you can look into the classes of that library.
So the class browser is indeed a tool that can drill down to anything also "penetrating" the layers of inheritance, but I'd still prefer to edit that button in the form editor, if at all. It is indeed a button that's in all solution examples and is what you can click to see the code of the example by getting into the form or class editor. And changing its code is no good idea, if you want it to continue functioning that way. Or simpler said: That's all code written in those classes that work already as they are and are seen as granted just like a textbox simply visually shows up where it it in the designer without having any code that declares what a textbox control is (and under the hood in the C++ runtimes there is a lot of code . code you surely don't want to see).
Well, the major point is, no matter if you have a valid reason to edit a parent class: There is no tool in VFP that really breaks down something into all code of it, going down to the bare root objects. Inheritance always adds to all of it and even the bare base classes have bahavior that's common and coded into them.
You major entry point into editing all parts of a project is only the project manager. Did you set up a project or did you jump right into just using the wizards for creating more concrete things like a form? The first thing you should indeed generate either with a wizard or simply as new empty item is a project, everything else follows from that root. The project manager window shows you all project items and all the options you have with them...
Here again, the same reference of the image.scx as listed with all other soluton project forms under the documents tab. You can also find it in the "All" tab, of course. But what makes SCX so popular is you can simply run a form by using Run (or the ! icon from the standard toolbar).
Chriss