Components of an application are developed in the Class Designer (VCX) by creating classes visually while applications are assembled in the Form Designer (SCX). Not every line of method code and every property setting needs to be saved as a class when building an application. So adding code and setting properties to objects in an SCX makes sense if specialized changes are not intended to be reused. The SaveAsClass function makes it easy to create classes in a VCX from objects in an SCX.
The Class Designer allows developers to create classes visually. These classes can be either visual or non-visual (Custom) subclasses. Custom properties and methods can be added to a class which appear in the Properties window for visual editing. The Form Designer allows forms to be created by subclassing existing classes by dropping them onto the form surface from the Controls toolbar or from the Project Manager.
The object model in Visual FoxPro supports container classes. Container classes are classes that can contain objects as members. The Form and Formset in an SCX is a container. The Formset can contain Form objects while the Form can contain control and Custom objects. The Toolbar class is a container that can contain control objects. Control classes such as the CommandButton class is not a container class since it cannot contain objects.
If you experiment with the Save As Class... menu option when in the Form Designer, you'll notice you can save controls as classes into a visual class library (VCX). You can also select multiple controls and save all selected controls. You can even save an entire form (including its object members) as a single class. When you select an individual control (or just the form) and you save the selected (single) object as a class, you are creating a class based on the object's classification. When you save a group of selected controls or the entire form which contains controls into a single class, you are actually saving a container class.