MFC アプリケーション アーキテクチャ クラスMFC application architecture classes

このカテゴリの Microsoft Foundation Class ライブラリ (MFC) クラスは、MFC アプリケーションのアーキテクチャに寄与します。The Microsoft Foundation Class library (MFC) classes in this category contribute to the architecture of an MFC 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, and then adding new members or overriding existing member functions.

アプリケーションウィザード では、アプリケーションフレームワークをさまざまな方法で使用する、複数の種類のアプリケーションが生成されます。Application wizards generate several types of applications, all of which use the application framework in differing ways. SDI (シングルドキュメントインターフェイス) と MDI (マルチドキュメントインターフェイス) アプリケーションでは、フレームワークのドキュメント/ビュー部分が完全に使用されます。SDI (single document interface) and MDI (multiple document interface) applications make full use of the document/view part of the framework. ダイアログベースのアプリケーション、フォームベースのアプリケーション、Dll など、他の種類のアプリケーションでは、ドキュメント/ビューアーキテクチャの機能の一部のみを使用します。Other types of applications, such as dialog-based applications, form-based applications, and DLLs, use only some of document/view architecture features.

ドキュメント/ビューアプリケーションには、ドキュメント、ビュー、およびフレームウィンドウの1つ以上のセットが含まれています。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.

MFC アプリケーションでは、ドキュメント/ビューアーキテクチャを使用する必要はありませんが、そのためにはさまざまな利点があります。You don't have to use document/view architecture in your MFC application, but there are a number of advantages to doing so. MFC OLE コンテナーとサーバーのサポートは、印刷と印刷プレビューのサポートとして、ドキュメント/ビューアーキテクチャに基づいています。The MFC OLE container and server support is based on document/view architecture, as is support for printing and print preview.

すべての MFC アプリケーションには、少なくとも2つのオブジェクト (から派生したアプリケーションオブジェクト CWinApp と、から派生した主なウィンドウオブジェクト) があり CWnd ます。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. (ほとんどの場合、メインウィンドウは、、 CFrameWnd CMDIFrameWnd またはから派生しますが、 CDialog これらはすべてから派生 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 main objects are:

  • CWinApp前に説明したように、クラスから派生したアプリケーションオブジェクト。An application object derived from class CWinApp, as mentioned before.
  • クラスから派生した1つ以上のドキュメントクラスオブジェクト CDocumentOne or more document class objects derived from class CDocument. ドキュメントクラスオブジェクトは、ビューで操作されるデータの内部表現を担います。Document class objects are responsible for the internal representation of the data that is manipulated in the view. データファイルに関連付けられている可能性があります。They may be associated with a data file.
  • クラスから派生した1つ以上のビューオブジェクト CViewOne or more view objects derived from class CView. 各ビューは、ドキュメントにアタッチされ、フレームウィンドウに関連付けられているウィンドウです。Each view is a window that is attached to a document and associated with a frame window. ビューは、ドキュメントクラスオブジェクトに含まれるデータを表示および操作します。Views display and manipulate the data contained in a document class object.

ドキュメント/ビューアプリケーションには、フレームウィンドウ (から派生 CFrameWnd ) とドキュメントテンプレート (から派生) も含まれて CDocTemplate います。Document/view applications also contain frame windows (derived from CFrameWnd) and document templates (derived from CDocTemplate).

関連項目See also

クラスの概要Class Overview