MFC Application Architecture Classes

Classes in this category contribute to the architecture of a framework application. They supply functionality common to most applications. You fill in the framework to add application-specific functionality. Typically, you do so by deriving new classes from the architecture classes, then adding new members and/or overriding existing member functions.

AppWizard generates several types of applications, all of which use the application framework in differing ways. SDI (single document interface) and MDI (multiple document interface) applications make full use of a part of the framework called document/view architecture. Other types of applications, such as dialog-based applications, form-based applications, and DLLs, use only some of document/view architecture features.

Document/view applications contain one or more sets of documents, views, and frame windows. A document-template object associates the classes for each document/view/frame set.

Although you do not have to use document/view architecture in your MFC application, there are a number of advantages to doing so. MFC’s OLE container and server support is based on document/view architecture, as is support for printing and print preview.

All MFC applications have at least two objects: an application object derived from CWinApp, and some sort of main window object, derived (often indirectly) from CWnd. (Most often, the main window is derived from CFrameWnd, CMDIFrameWnd, or CDialog, all of which are derived from CWnd.)

Applications that use document/view architecture contain additional objects. The principal objects are as follows:

Document/view applications also contain frame windows (derived from CFrameWnd) and document templates (derived from CDocTemplate).