You can write a Basic Compound Document framework program when your program uses graphics, but does not need to be part of a compound document or when you want to implement a different storage mechanism. For example, you might write a small program for configuring video devices by implementing your own MCanvasRepresentation, TCanvasView, and MCanvasSelection derived classes to use rectangles to represent each monitor. The rectangles might be moved and sized according to their relative layout and aspect ratios in global coordinates.
The Basic GrafEdit classes are:
MCanvasRepresentation, MCanvasSelection, TCanvasGraphicFilter, and TCanvasGraphicFunnel are purely Basic GrafEdit classes. The other basic classes have derivations as follows: