CDocTemplate クラスCDocTemplate Class

ドキュメント テンプレートの基本的な機能を定義する抽象基底クラスです。An abstract base class that defines the basic functionality for document templates.

構文Syntax

class CDocTemplate : public CCmdTarget

メンバーMembers

プロテクト コンストラクターProtected Constructors

名前Name 説明Description
CDocTemplate:: CDocTemplateCDocTemplate::CDocTemplate CDocTemplate オブジェクトを構築します。Constructs a CDocTemplate object.

パブリック メソッドPublic Methods

名前Name 説明Description
CDocTemplate:: AddDocumentCDocTemplate::AddDocument テンプレートにドキュメントを追加します。Adds a document to a template.
CDocTemplate:: CloseAllDocumentsCDocTemplate::CloseAllDocuments このテンプレートに関連付けられているすべてのドキュメントを閉じます。Closes all documents associated with this template.
CDocTemplate:: CreateNewDocumentCDocTemplate::CreateNewDocument 新しいドキュメントを作成します。Creates a new document.
CDocTemplate:: CreateNewFrameCDocTemplate::CreateNewFrame ドキュメントとビューを含む新しいフレームウィンドウを作成します。Creates a new frame window containing a document and view.
CDocTemplate:: CreateOleFrameCDocTemplate::CreateOleFrame OLE 対応のフレームウィンドウを作成します。Creates an OLE-enabled frame window.
CDocTemplate:: CreateプレビューフレームCDocTemplate::CreatePreviewFrame リッチプレビューに使用する子フレームを作成します。Creates a child frame used for Rich Preview.
CDocTemplate:: GetDocStringCDocTemplate::GetDocString ドキュメントの種類に関連付けられている文字列を取得します。Retrieves a string associated with the document type.
CDocTemplate:: GetFirstDocPositionCDocTemplate::GetFirstDocPosition このテンプレートに関連付けられている最初のドキュメントの位置を取得します。Retrieves the position of the first document associated with this template.
CDocTemplate:: GetNextDocCDocTemplate::GetNextDoc ドキュメントと次のドキュメントの位置を取得します。Retrieves a document and the position of the next one.
CDocTemplate:: InitialUpdateFrameCDocTemplate::InitialUpdateFrame フレームウィンドウを初期化し、必要に応じて表示します。Initializes the frame window, and optionally makes it visible.
CDocTemplate:: LoadTemplateCDocTemplate::LoadTemplate 指定された CDocTemplate クラスまたは派生クラスのリソースを読み込みます。Loads the resources for a given CDocTemplate or derived class.
CDocTemplate:: MatchDocTypeCDocTemplate::MatchDocType ドキュメントの種類とこのテンプレートの一致の信頼度を決定します。Determines the degree of confidence in the match between a document type and this template.
CDocTemplate:: OpenDocumentFileCDocTemplate::OpenDocumentFile パス名で指定されたファイルを開きます。Opens a file specified by a pathname.
CDocTemplate:: RemoveDocumentCDocTemplate::RemoveDocument テンプレートからドキュメントを削除します。Removes a document from a template.
CDocTemplate:: SaveAllModifiedCDocTemplate::SaveAllModified このテンプレートに関連付けられている、変更されたすべてのドキュメントを保存します。Saves all documents associated with this template which have been modified.
CDocTemplate:: SetContainerInfoCDocTemplate::SetContainerInfo 埋め込み先 OLE 項目を編集するときに、OLE コンテナーのリソースを決定します。Determines the resources for OLE containers when editing an in-place OLE item.
CDocTemplate:: SetDefaultTitleCDocTemplate::SetDefaultTitle ドキュメントウィンドウのタイトルバーに既定のタイトルを表示します。Displays the default title in the document window's title bar.
CDocTemplate:: SetPreviewInfoCDocTemplate::SetPreviewInfo プロセスプレビューハンドラーが不足しています。Setups out of process preview handler.
CDocTemplate:: SetServerInfoCDocTemplate::SetServerInfo サーバードキュメントが埋め込まれているか、埋め込み先で編集されている場合に、リソースとクラスを決定します。Determines the resources and classes when the server document is embedded or edited in-place.

解説Remarks

通常、アプリケーションの関数の実装には、1つまたは複数のドキュメントテンプレートを作成し InitInstance ます。You usually create one or more document templates in the implementation of your application's InitInstance function. ドキュメントテンプレートでは、次の3種類のクラス間のリレーションシップを定義します。A document template defines the relationships among three types of classes:

  • から派生するドキュメントクラス CDocumentA document class, which you derive from CDocument.

  • ビュークラス。上に一覧表示されているドキュメントクラスのデータを表示します。A view class, which displays data from the document class listed above. このクラスは、、、 CView 、またはから派生させることができ CScrollView CFormView CEditView ます。You can derive this class from CView, CScrollView, CFormView, or CEditView. (を直接使用することもでき CEditView ます)。(You can also use CEditView directly.)

  • ビューを含むフレームウィンドウクラス。A frame window class, which contains the view. シングルドキュメントインターフェイス (SDI) アプリケーションの場合は、このクラスをから派生させ CFrameWnd ます。For a single document interface (SDI) application, you derive this class from CFrameWnd. マルチドキュメントインターフェイス (MDI) アプリケーションの場合は、このクラスをから派生させ CMDIChildWnd ます。For a multiple document interface (MDI) application, you derive this class from CMDIChildWnd. フレームウィンドウの動作をカスタマイズする必要がない場合 CFrameWnd は、独自のクラスを派生させずにまたはを直接使用でき CMDIChildWnd ます。If you don't need to customize the behavior of the frame window, you can use CFrameWnd or CMDIChildWnd directly without deriving your own class.

アプリケーションには、サポートするドキュメントの種類ごとに1つのドキュメントテンプレートがあります。Your application has one document template for each type of document that it supports. たとえば、アプリケーションがスプレッドシートとテキストドキュメントの両方をサポートしている場合、アプリケーションには2つのドキュメントテンプレートオブジェクトがあります。For example, if your application supports both spreadsheets and text documents, the application has two document template objects. 各ドキュメントテンプレートは、その種類のすべてのドキュメントの作成と管理を行います。Each document template is responsible for creating and managing all the documents of its type.

ドキュメントテンプレートには、 CRuntimeClass ドキュメント、ビュー、およびフレームウィンドウクラスのオブジェクトへのポインターが格納されます。The document template stores pointers to the CRuntimeClass objects for the document, view, and frame window classes. これらの CRuntimeClass オブジェクトは、ドキュメントテンプレートを構築するときに指定します。These CRuntimeClass objects are specified when constructing a document template.

ドキュメントテンプレートには、ドキュメントの種類 (メニュー、アイコン、アクセラレータテーブルリソースなど) で使用されるリソースの ID が含まれています。The document template contains the ID of the resources used with the document type (such as menu, icon, or accelerator table resources). ドキュメントテンプレートには、そのドキュメントの種類に関する追加情報を含む文字列も含まれています。The document template also has strings containing additional information about its document type. これには、ドキュメントの種類の名前 ("ワークシート" など) とファイル拡張子 (".xls" など) が含まれます。These include the name of the document type (for example, "Worksheet") and the file extension (for example, ".xls"). 必要に応じて、アプリケーションのユーザーインターフェイス、Windows ファイルマネージャー、およびオブジェクトのリンクと埋め込み (OLE) のサポートによって使用される他の文字列を含めることができます。Optionally, it can contain other strings used by the application's user interface, the Windows File Manager, and Object Linking and Embedding (OLE) support.

アプリケーションが OLE コンテナーまたはサーバーである場合、ドキュメントテンプレートでは、埋め込み先でのアクティブ化時に使用されるメニューの ID も定義されます。If your application is an OLE container and/or server, the document template also defines the ID of the menu used during in-place activation. アプリケーションが OLE サーバーである場合、ドキュメントテンプレートは、埋め込み先でのアクティブ化時に使用されるツールバーとメニューの ID を定義します。If your application is an OLE server, the document template defines the ID of the toolbar and menu used during in-place activation. これらの追加の OLE リソースを指定するには SetContainerInfo 、およびを呼び出し SetServerInfo ます。You specify these additional OLE resources by calling SetContainerInfo and SetServerInfo.

は抽象クラスであるため、 CDocTemplate クラスを直接使用することはできません。Because CDocTemplate is an abstract class, you cannot use the class directly. 一般的なアプリケーションでは CDocTemplate 、Microsoft Foundation Class ライブラリによって提供される2つの派生クラス CSingleDocTemplate (SDI を実装する) と CMultiDocTemplate 、MDI を実装するを使用します。A typical application uses one of the two CDocTemplate-derived classes provided by the Microsoft Foundation Class Library: CSingleDocTemplate, which implements SDI, and CMultiDocTemplate, which implements MDI. ドキュメントテンプレートの使用方法の詳細については、これらのクラスを参照してください。See those classes for more information on using document templates.

アプリケーションで、SDI または MDI とは基本的に異なるユーザーインターフェイスパラダイムが必要な場合は、から独自のクラスを派生させることができ CDocTemplate ます。If your application requires a user-interface paradigm that is fundamentally different from SDI or MDI, you can derive your own class from CDocTemplate.

の詳細につい CDocTemplate ては、「 ドキュメントテンプレート」と「ドキュメント/ビューの作成プロセス」を参照してください。For more information on CDocTemplate, see Document Templates and the Document/View Creation Process.

継承階層Inheritance Hierarchy

CObjectCObject

CCmdTargetCCmdTarget

CDocTemplate

要件Requirements

ヘッダー: afxwin.hHeader: afxwin.h

CDocTemplate:: AddDocumentCDocTemplate::AddDocument

テンプレートにドキュメントを追加するには、この関数を使用します。Use this function to add a document to a template.

virtual void AddDocument(CDocument* pDoc);

パラメーターParameters

pDocpDoc
追加するドキュメントへのポインター。A pointer to the document to be added.

解説Remarks

派生クラス CMultiDocTemplateCSingleDocTemplate は、この関数をオーバーライドします。The derived classes CMultiDocTemplate and CSingleDocTemplate override this function. 独自のドキュメントテンプレートクラスをから派生させた場合 CDocTemplate 、派生クラスはこの関数をオーバーライドする必要があります。If you derive your own document-template class from CDocTemplate, your derived class must override this function.

CDocTemplate:: CDocTemplateCDocTemplate::CDocTemplate

CDocTemplate オブジェクトを構築します。Constructs a CDocTemplate object.

CDocTemplate (
    UINT nIDResource,
    CRuntimeClass* pDocClass,
    CRuntimeClass* pFrameClass,
    CRuntimeClass* pViewClass);

パラメーターParameters

nIDResourcenIDResource
ドキュメントの種類で使用されるリソースの ID を指定します。Specifies the ID of the resources used with the document type. これには、メニュー、アイコン、アクセラレータテーブル、および文字列リソースが含まれます。This may include menu, icon, accelerator table, and string resources.

文字列リソースは、' \n ' 文字で区切られた最大7つの部分文字列で構成されます (部分文字列が含まれていない場合、' \n ' 文字はプレースホルダーとして必要です)。ただし、末尾の ' \n ' 文字は必要ありません)。これらの部分文字列は、ドキュメントの種類を記述します。The string resource consists of up to seven substrings separated by the '\n' character (the '\n' character is needed as a place holder if a substring is not included; however, trailing '\n' characters are not necessary); these substrings describe the document type. 部分文字列の詳細については、「 GetDocString」を参照してください。For information on the substrings, see GetDocString. この文字列リソースは、アプリケーションのリソースファイルにあります。This string resource is found in the application's resource file. 次に例を示します。For example:

// MYCALC.RC
STRINGTABLE PRELOAD DISCARDABLE
BEGIN
  IDR_SHEETTYPE "\nSheet\nWorksheet\nWorksheets (*.myc)\n.myc\n MyCalcSheet\nMyCalc Worksheet"
END

文字列の先頭が ' \n ' 文字であることに注意してください。これは、最初の部分文字列が MDI アプリケーションで使用されていないためです。したがって、は含まれていません。Note that the string begins with a '\n' character; this is because the first substring is not used for MDI applications and so is not included. この文字列は、文字列エディターを使用して編集できます。文字列全体は、7つの個別のエントリとしてではなく、文字列エディターに単一のエントリとして表示されます。You can edit this string using the string editor; the entire string appears as a single entry in the String Editor, not as seven separate entries.

pDocClasspDocClass
CRuntimeClassドキュメントクラスのオブジェクトを指します。Points to the CRuntimeClass object of the document class. このクラスは、 CDocument ドキュメントを表すために定義するの派生クラスです。This class is a CDocument-derived class you define to represent your documents.

pFrameClasspFrameClass
CRuntimeClassフレームウィンドウクラスのオブジェクトを指します。Points to the CRuntimeClass object of the frame window class. このクラスは、派生クラスにすることも CFrameWndCFrameWnd メインフレームウィンドウの既定の動作が必要な場合は、それ自体にすることもできます。This class can be a CFrameWnd-derived class, or it can be CFrameWnd itself if you want default behavior for your main frame window.

pViewClasspViewClass
CRuntimeClassビュークラスのオブジェクトを指します。Points to the CRuntimeClass object of the view class. このクラスは、 CView ドキュメントを表示するために定義するの派生クラスです。This class is a CView-derived class you define to display your documents.

解説Remarks

オブジェクトを構築するには、このメンバー関数を使用し CDocTemplate ます。Use this member function to construct a CDocTemplate object. オブジェクトを動的 CDocTemplate に割り当て、アプリケーションクラスのメンバー関数から CWinApp::、adddoctemplate に渡します InitInstanceDynamically allocate a CDocTemplate object and pass it to CWinApp::AddDocTemplate from the InitInstance member function of your application class.

CDocTemplate:: CloseAllDocumentsCDocTemplate::CloseAllDocuments

開いているすべてのドキュメントを閉じるには、このメンバー関数を呼び出します。Call this member function to close all open documents.

virtual void CloseAllDocuments(BOOL bEndSession);

パラメーターParameters

bEndSessionbEndSession
使用されていません。Not used.

解説Remarks

このメンバー関数は、通常、File Exit コマンドの一部として使用されます。This member function is typically used as part of the File Exit command. この関数の既定の実装では、 CDocument::D eletecontents メンバー関数を呼び出してドキュメントのデータを削除した後、ドキュメントに関連付けられているすべてのビューのフレームウィンドウを閉じます。The default implementation of this function calls the CDocument::DeleteContents member function to delete the document's data and then closes the frame windows for all the views attached to the document.

ドキュメントを閉じる前に、ユーザーに特別なクリーンアップ処理を実行させる必要がある場合は、この関数をオーバーライドします。Override this function if you want to require the user to perform special cleanup processing before the document is closed. たとえば、ドキュメントがデータベース内のレコードを表している場合は、この関数をオーバーライドしてデータベースを閉じることができます。For example, if the document represents a record in a database, you may want to override this function to close the database.

CDocTemplate:: CreateNewDocumentCDocTemplate::CreateNewDocument

このメンバー関数を呼び出して、このドキュメントテンプレートに関連付けられている型の新しいドキュメントを作成します。Call this member function to create a new document of the type associated with this document template.

virtual CDocument* CreateNewDocument();

戻り値Return Value

新しく作成されたドキュメントへのポインター。エラーが発生した場合は NULL。A pointer to the newly created document, or NULL if an error occurs.

CDocTemplate:: CreateNewFrameCDocTemplate::CreateNewFrame

ドキュメントとビューを含む新しいフレームウィンドウを作成します。Creates a new frame window containing a document and view.

virtual CFrameWnd* CreateNewFrame(
    CDocument* pDoc,
    CFrameWnd* pOther);

パラメーターParameters

pDocpDoc
新しいフレームウィンドウが参照するドキュメント。The document to which the new frame window should refer. NULL にすることができます。Can be NULL.

その他pOther
新しいフレームウィンドウの基になるフレームウィンドウ。The frame window on which the new frame window is to be based. NULL にすることができます。Can be NULL.

戻り値Return Value

新しく作成されたフレームウィンドウへのポインター。エラーが発生した場合は NULL。A pointer to the newly created frame window, or NULL if an error occurs.

解説Remarks

CreateNewFrame コンストラクターに渡されたオブジェクトを使用し CRuntimeClass て、ビューとドキュメントが添付された新しいフレームウィンドウを作成します。CreateNewFrame uses the CRuntimeClass objects passed to the constructor to create a new frame window with a view and document attached. Pdoc パラメーターが NULL の場合、フレームワークはトレースメッセージを出力します。If the pDoc parameter is NULL, the framework outputs a TRACE message.

Popoparameter は、Window New コマンドを実装するために使用されます。The pOther parameter is used to implement the Window New command. 新しいフレームウィンドウをモデル化するためのフレームウィンドウが用意されています。It provides a frame window on which to model the new frame window. 通常、新しいフレームウィンドウは非表示で作成されます。The new frame window is usually created invisible. File New および File Open の標準フレームワークの実装の外部でフレームウィンドウを作成するには、この関数を呼び出します。Call this function to create frame windows outside the standard framework implementation of File New and File Open.

CDocTemplate:: CreateOleFrameCDocTemplate::CreateOleFrame

OLE フレームウィンドウを作成します。Creates an OLE frame window.

CFrameWnd* CreateOleFrame(
    CWnd* pParentWnd,
    CDocument* pDoc,
    BOOL bCreateView);

パラメーターParameters

pParentWndpParentWnd
フレームの親ウィンドウへのポインター。A pointer to the frame's parent window.

pDocpDoc
新しい OLE フレームウィンドウが参照するドキュメントへのポインター。A pointer to the document to which the new OLE frame window should refer.

bCreateViewbCreateView
ビューをフレームと共に作成するかどうかを決定します。Determines whether a view is created along with the frame.

戻り値Return Value

成功した場合は、フレームウィンドウへのポインター。それ以外の場合は NULL。A pointer to a frame window if successful; otherwise NULL.

解説Remarks

BCreateView が0の場合、空のフレームが作成されます。If bCreateView is zero, an empty frame is created.

CDocTemplate:: GetDocStringCDocTemplate::GetDocString

ドキュメントの種類に関連付けられている文字列を取得します。Retrieves a string associated with the document type.

virtual BOOL GetDocString(
    CString& rString,
    enum DocStringIndex index) const;

パラメーターParameters

rStringrString
CString関数が返されたときに文字列を格納するオブジェクトへの参照。A reference to a CString object that will contain the string when the function returns.

インデックスindex
ドキュメントの種類を記述する文字列から取得される部分文字列のインデックス。An index of the substring being retrieved from the string that describes the document type. このパラメーターには、次のいずれかの値を指定できます。This parameter can have one of the following values:

  • CDocTemplate::windowTitle アプリケーションウィンドウのタイトルバーに表示される名前 (たとえば、"Microsoft Excel")。CDocTemplate::windowTitle Name that appears in the application window's title bar (for example, "Microsoft Excel"). SDI アプリケーションのドキュメントテンプレートにのみ存在します。Present only in the document template for SDI applications.

  • CDocTemplate::docName 既定のドキュメント名のルート (たとえば、"シート")。CDocTemplate::docName Root for the default document name (for example, "Sheet"). このルートと数値は、ユーザーが [ファイル] メニューから新しいコマンドを選択するたびに、この種類の新しいドキュメントの既定の名前として使用されます (たとえば、"Sheet1" や "Sheet2")。This root, plus a number, is used for the default name of a new document of this type whenever the user chooses the New command from the File menu (for example, "Sheet1" or "Sheet2"). 指定しない場合は、"無題" が既定値として使用されます。If not specified, "Untitled" is used as the default.

  • CDocTemplate::fileNewName このドキュメントの種類の名前。CDocTemplate::fileNewName Name of this document type. アプリケーションで複数の種類のドキュメントがサポートされている場合、この文字列は [ファイル] [新規] ダイアログボックス ("ワークシート" など) に表示されます。If the application supports more than one type of document, this string is displayed in the File New dialog box (for example, "Worksheet"). 指定しない場合、ファイルの New コマンドを使用してドキュメントの種類にアクセスすることはできません。If not specified, the document type is inaccessible using the File New command.

  • CDocTemplate::filterName この種類のドキュメントに一致するドキュメントの種類とワイルドカードフィルターの説明。CDocTemplate::filterName Description of the document type and a wildcard filter matching documents of this type. この文字列は、[ファイルを開く] ダイアログボックスの [種類のファイルの一覧表示] ドロップダウンリストに表示されます (例: "ワークシート (* .xls)")。This string is displayed in the List Files Of Type drop-down list in the File Open dialog box (for example, "Worksheets (*.xls)"). 指定されていない場合、[ファイルを開く] コマンドを使用してドキュメントの種類にアクセスすることはできません。If not specified, the document type is inaccessible using the File Open command.

  • CDocTemplate::filterExt この種類のドキュメントの拡張子 (".xls" など)。CDocTemplate::filterExt Extension for documents of this type (for example, ".xls"). 指定されていない場合、[ファイルを開く] コマンドを使用してドキュメントの種類にアクセスすることはできません。If not specified, the document type is inaccessible using the File Open command.

  • CDocTemplate::regFileTypeId Windows によって管理される登録データベースに格納されるドキュメントの種類の識別子。CDocTemplate::regFileTypeId Identifier for the document type to be stored in the registration database maintained by Windows. この文字列は内部でのみ使用されます (たとえば、"ExcelWorksheet")。This string is for internal use only (for example, "ExcelWorksheet"). 指定しない場合、ドキュメントの種類を Windows ファイルマネージャーに登録できません。If not specified, the document type cannot be registered with the Windows File Manager.

  • CDocTemplate::regFileTypeName 登録データベースに格納されるドキュメントの種類の名前。CDocTemplate::regFileTypeName Name of the document type to be stored in the registration database. この文字列は、登録データベースにアクセスするアプリケーション (たとえば、"Microsoft Excel ワークシート") のダイアログボックスに表示される場合があります。This string may be displayed in dialog boxes of applications that access the registration database (for example, "Microsoft Excel Worksheet").

戻り値Return Value

指定した部分文字列が見つかった場合は0以外の。それ以外の場合は0です。Nonzero if the specified substring was found; otherwise 0.

解説Remarks

ドキュメントの種類を記述する特定の部分文字列を取得するには、この関数を呼び出します。Call this function to retrieve a specific substring describing the document type. これらの部分文字列を含む文字列は、ドキュメントテンプレートに格納され、アプリケーションのリソースファイル内の文字列から派生します。The string containing these substrings is stored in the document template and is derived from a string in the resource file for the application. フレームワークは、この関数を呼び出して、アプリケーションのユーザーインターフェイスに必要な文字列を取得します。The framework calls this function to get the strings it needs for the application's user interface. アプリケーションのドキュメントのファイル名拡張子を指定した場合は、Windows 登録データベースにエントリを追加するときに、フレームワークによってこの関数も呼び出されます。これにより、Windows ファイルマネージャーからドキュメントを開くことができます。If you have specified a filename extension for your application's documents, the framework also calls this function when adding an entry to the Windows registration database; this allows documents to be opened from the Windows File Manager.

から独自のクラスを派生させる場合にのみ、この関数を呼び出し CDocTemplate ます。Call this function only if you are deriving your own class from CDocTemplate.

CDocTemplate:: GetFirstDocPositionCDocTemplate::GetFirstDocPosition

このテンプレートに関連付けられている最初のドキュメントの位置を取得します。Retrieves the position of the first document associated with this template.

virtual POSITION GetFirstDocPosition() const = 0;

戻り値Return Value

このドキュメントテンプレートに関連付けられているドキュメントの一覧を反復処理するために使用できる位置の値。リストが空の場合は NULL。A POSITION value that can be used to iterate through the list of documents associated with this document template; or NULL if the list is empty.

解説Remarks

このテンプレートに関連付けられているドキュメントのリスト内の最初のドキュメントの位置を取得するには、この関数を使用します。Use this function to get the position of the first document in the list of documents associated with this template. このテンプレートに関連付けられているドキュメントの一覧を反復処理するには、値を CDocTemplate:: GetNextDoc の引数として使用します。Use the POSITION value as an argument to CDocTemplate::GetNextDoc to iterate through the list of documents associated with the template.

CSingleDocTemplateCMultiDocTemplate は、どちらもこの純粋仮想関数をオーバーライドします。CSingleDocTemplate and CMultiDocTemplate both override this pure virtual function. から派生したクラス CDocTemplate も、この関数をオーバーライドする必要があります。Any class you derive from CDocTemplate must also override this function.

CDocTemplate:: GetNextDocCDocTemplate::GetNextDoc

Rpo によって識別されるリスト要素を取得し、 rpo をリスト内の次のエントリの位置の値に設定します。Retrieves the list element identified by rPos, then sets rPos to the POSITION value of the next entry in the list.

virtual CDocument* GetNextDoc(POSITION& rPos) const = 0;

戻り値Return Value

このテンプレートに関連付けられているドキュメントの一覧にある次のドキュメントへのポインター。A pointer to the next document in the list of documents associated with this template.

パラメーターParameters

求めるrPos
Getfirstdocpositionまたはの以前の呼び出しによって返された位置の値への参照 GetNextDocA reference to a POSITION value returned by a previous call to GetFirstDocPosition or GetNextDoc.

解説Remarks

取得した要素がリスト内の最後の要素である場合、 rpo の新しい値は NULL に設定されます。If the retrieved element is the last in the list, then the new value of rPos is set to NULL.

GetNextDoc Getfirstdocpositionの呼び出しを使用して最初の位置を設定する場合は、前方反復ループでを使用できます。You can use GetNextDoc in a forward iteration loop if you establish the initial position with a call to GetFirstDocPosition.

位置の値がリスト内の有効な位置を表していることを確認する必要があります。You must ensure that your POSITION value represents a valid position in the list. 無効な場合は、Microsoft Foundation Class ライブラリのデバッグバージョンがアサートされます。If it is invalid, then the Debug version of the Microsoft Foundation Class Library asserts.

CDocTemplate:: InitialUpdateFrameCDocTemplate::InitialUpdateFrame

フレームウィンドウを初期化し、必要に応じて表示します。Initializes the frame window, and optionally makes it visible.

virtual void InitialUpdateFrame(
    CFrameWnd* pFrame,
    CDocument* pDoc,
    BOOL bMakeVisible = TRUE);

パラメーターParameters

pFramepFrame
初期更新が必要なフレームウィンドウ。The frame window that needs the initial update.

pDocpDoc
フレームが関連付けられているドキュメント。The document to which the frame is associated. NULL にすることができます。Can be NULL.

bMakeVisiblebMakeVisible
フレームが表示されアクティブになるかどうかを示します。Indicates whether the frame should become visible and active.

解説Remarks

IntitialUpdateFrameを使用して新しいフレームを作成した後に、を呼び出し CreateNewFrame ます。Call IntitialUpdateFrame after creating a new frame with CreateNewFrame. この関数を呼び出すと、そのフレームウィンドウ内のビューが呼び出しを受信し OnInitialUpdate ます。Calling this function causes the views in that frame window to receive their OnInitialUpdate calls. また、以前にアクティブなビューがない場合は、フレームウィンドウのプライマリビューがアクティブになります。プライマリビューは、AFX_IDW_PANE_FIRST の子 ID を持つビューです。Also, if there was not previously an active view, the primary view of the frame window is made active; the primary view is a view with a child ID of AFX_IDW_PANE_FIRST. 最後に、 Bmakevisible が0以外の場合、フレームウィンドウが表示されます。Finally, the frame window is made visible if bMakeVisible is non-zero. Bmakevisible がゼロの場合、フレームウィンドウの現在のフォーカスと可視状態は変更されません。If bMakeVisible is zero, the current focus and visible state of the frame window will remain unchanged.

フレームワークの File New と File Open の実装を使用する場合は、この関数を呼び出す必要はありません。It is not necessary to call this function when using the framework's implementation of File New and File Open.

CDocTemplate:: LoadTemplateCDocTemplate::LoadTemplate

指定された CDocTemplate クラスまたは派生クラスのリソースを読み込みます。Loads the resources for a given CDocTemplate or derived class.

virtual void LoadTemplate();

解説Remarks

このメンバー関数は、特定の CDocTemplate クラスまたは派生クラスのリソースを読み込むために、フレームワークによって呼び出されます。This member function is called by the framework to load the resources for a given CDocTemplate or derived class. 通常、テンプレートがグローバルに構築されている場合を除き、構築時に呼び出されます。Normally it is called during construction, except when the template is being constructed globally. この場合、の呼び出しは、 LoadTemplate CWinApp::、adddoctemplate が呼び出されるまで遅延されます。In that case, the call to LoadTemplate is delayed until CWinApp::AddDocTemplate is called.

CDocTemplate:: MatchDocTypeCDocTemplate::MatchDocType

ドキュメントの種類とこのテンプレートの一致の信頼度を決定します。Determines the degree of confidence in the match between a document type and this template.

virtual Confidence MatchDocType(
    LPCTSTR lpszPathName,
    CDocument*& rpDocMatch);

パラメーターParameters

lpszPathNamelpszPathName
型を確認するファイルのパス名。Pathname of the file whose type is to be determined.

"Rpq Docmatch"rpDocMatch
Lpszpathname によって指定されたファイルが既に開いている場合、一致するドキュメントが割り当てられているドキュメントへのポインター。Pointer to a document that is assigned the matching document, if the file specified by lpszPathName is already open.

戻り値Return Value

信頼 の列挙の値。次のように定義されています。A value from the Confidence enumeration, which is defined as follows:

enum Confidence
    {
    noAttempt,
    maybeAttemptForeign,
    maybeAttemptNative,
    yesAttemptForeign,
    yesAttemptNative,
    yesAlreadyOpen
    };

解説Remarks

ファイルを開くために使用するドキュメントテンプレートの種類を決定するには、この関数を使用します。Use this function to determine the type of document template to use for opening a file. たとえば、アプリケーションで複数のファイルの種類がサポートされている場合、この関数を使用する MatchDocType と、各テンプレートに対してを呼び出し、返された信頼度に従ってテンプレートを選択することによって、特定のファイルに適したドキュメントテンプレートを特定できます。If your application supports multiple file types, for example, you can use this function to determine which of the available document templates is appropriate for a given file by calling MatchDocType for each template in turn, and choosing a template according to the confidence value returned.

Lpszpathname によって指定されたファイルが既に開かれている場合、この関数はを返し、 CDocTemplate::yesAlreadyOpen ファイルのオブジェクトをの CDocument オブジェクトにコピー ます。If the file specified by lpszPathName is already open, this function returns CDocTemplate::yesAlreadyOpen and copies the file's CDocument object into the object at rpDocMatch.

ファイルが開かれていないが、 Lpszpathname の拡張子がで指定された拡張子と一致した場合 CDocTemplate::filterExt 、この関数はを返し、は、" CDocTemplate::yesAttemptNative /" を NULL に設定します。 If the file is not open but the extension in lpszPathName matches the extension specified by CDocTemplate::filterExt, this function returns CDocTemplate::yesAttemptNative and sets rpDocMatch to NULL. の詳細につい CDocTemplate::filterExt ては、「 CDocTemplate:: GetDocString」を参照してください。For more information on CDocTemplate::filterExt, see CDocTemplate::GetDocString.

どちらのケースも true でない場合、関数はを返し CDocTemplate::yesAttemptForeign ます。If neither case is true, the function returns CDocTemplate::yesAttemptForeign.

既定の実装は、 CDocTemplate::maybeAttemptForeign またはを返しません CDocTemplate::maybeAttemptNativeThe default implementation does not return CDocTemplate::maybeAttemptForeign or CDocTemplate::maybeAttemptNative. この関数をオーバーライドして、アプリケーションに適した型一致ロジックを実装します。たとえば、 信頼 の列挙体からのこれら2つの値を使用します。Override this function to implement type-matching logic appropriate to your application, perhaps using these two values from the Confidence enumeration.

CDocTemplate:: OpenDocumentFileCDocTemplate::OpenDocumentFile

パスで指定されたファイルを開きます。Opens a file specified by a path.

virtual CDocument* OpenDocumentFile(LPCTSTR lpszPathName) = 0;

virtual CDocument* OpenDocumentFile(
    LPCTSTR lpszPathName,
    BOOL bAddToMRU) = 0;

パラメーターParameters

lpszPathNamelpszPathName
から開くドキュメントを含むファイルのパスへのポインター。[in] Pointer to the path of the file that contains the document to be opened.

bAddToMRUbAddToMRU
からTRUE は、ドキュメントが最新のファイルの1つであることを示します。FALSE は、ドキュメントが最新のファイルの1つではないことを示します。[in] TRUE indicates the document is one of the most recent files; FALSE indicates the document is not one of the most recent files.

戻り値Return Value

ファイル名が Lpszpathname; であるドキュメントへのポインター失敗した場合は NULL です。A pointer to the document whose file is named by lpszPathName; NULL if unsuccessful.

解説Remarks

Lpszpathname によって指定されたパスを持つファイルを開きます。Opens the file whose path is specified by lpszPathName. Lpszpathname が NULL の場合、このテンプレートに関連付けられている種類のドキュメントを含む新しいファイルが作成されます。If lpszPathName is NULL, a new file that contains a document of the type associated with this template is created.

CDocTemplate:: RemoveDocumentCDocTemplate::RemoveDocument

このテンプレートに関連付けられているドキュメントの一覧から、 Pdoc が指すドキュメントを削除します。Removes the document pointed to by pDoc from the list of documents associated with this template.

virtual void RemoveDocument(CDocument* pDoc);

パラメーターParameters

pDocpDoc
削除するドキュメントへのポインター。Pointer to the document to be removed.

解説Remarks

派生クラスとは、 CMultiDocTemplate CSingleDocTemplate この関数をオーバーライドします。The derived classes CMultiDocTemplate and CSingleDocTemplate override this function. 独自のドキュメントテンプレートクラスをから派生させた場合 CDocTemplate 、派生クラスはこの関数をオーバーライドする必要があります。If you derive your own document-template class from CDocTemplate, your derived class must override this function.

CDocTemplate:: SaveAllModifiedCDocTemplate::SaveAllModified

変更されたすべてのドキュメントを保存します。Saves all documents that have been modified.

virtual BOOL SaveAllModified();

戻り値Return Value

成功した場合は0以外。それ以外の場合は0です。Non-zero if successful; otherwise 0.

CDocTemplate:: SetContainerInfoCDocTemplate::SetContainerInfo

埋め込み先 OLE 項目を編集するときに、OLE コンテナーのリソースを決定します。Determines the resources for OLE containers when editing an in-place OLE item.

void SetContainerInfo(UINT nIDOleInPlaceContainer);

パラメーターParameters

nIDOleInPlaceContainernIDOleInPlaceContainer
埋め込みオブジェクトがアクティブになったときに使用されるリソースの ID。The ID of the resources used when an embedded object is activated.

解説Remarks

OLE オブジェクトが埋め込み先でアクティブになっているときに使用されるリソースを設定するには、この関数を呼び出します。Call this function to set the resources to be used when an OLE object is in-place activated. これらのリソースには、メニューとアクセラレータテーブルが含まれる場合があります。These resources may include menus and accelerator tables. この関数は、通常、アプリケーションの CWinApp:: InitInstance 関数で呼び出されます。This function is usually called in the CWinApp::InitInstance function of your application.

NIDOleInPlaceContainer に関連付けられているメニューには、アクティブ化されたインプレース項目のメニューをコンテナーアプリケーションのメニューとマージできるようにするための区切り記号が含まれています。The menu associated with nIDOleInPlaceContainer contains separators that allow the menu of the activated in-place item to merge with the menu of the container application. サーバーメニューとコンテナーメニューのマージの詳細については、「 メニューとリソース (OLE)」を参照してください。For more information about merging server and container menus, see the article Menus and Resources (OLE).

CDocTemplate:: SetDefaultTitleCDocTemplate::SetDefaultTitle

この関数を呼び出して、ドキュメントの既定のタイトルを読み込み、ドキュメントのタイトルバーに表示します。Call this function to load the document's default title and display it in the document's title bar.

virtual void SetDefaultTitle(CDocument* pDocument) = 0;

パラメーターParameters

pDocumentpDocument
タイトルが設定されるドキュメントへのポインター。Pointer to the document whose title is to be set.

解説Remarks

既定のタイトルの詳細については、「 CDocTemplate::docName CDocTemplate:: GetDocString」の説明を参照してください。For information on the default title, see the description of CDocTemplate::docName in CDocTemplate::GetDocString.

CDocTemplate:: SetServerInfoCDocTemplate::SetServerInfo

サーバードキュメントが埋め込まれているか、埋め込み先で編集されている場合に、リソースとクラスを決定します。Determines the resources and classes when the server document is embedded or edited in-place.

void SetServerInfo(
    UINT nIDOleEmbedding,
    UINT nIDOleInPlaceServer = 0,
    CRuntimeClass* pOleFrameClass = NULL,
    CRuntimeClass* pOleViewClass = NULL);

パラメーターParameters

nIDOleEmbeddingnIDOleEmbedding
埋め込みオブジェクトが別のウィンドウで開かれたときに使用されるリソースの ID です。The ID of the resources used when an embedded object is opened in a separate window.

nIDOleInPlaceServernIDOleInPlaceServer
埋め込みオブジェクトがインプレースでアクティブ化されるときに使用されるリソースの ID。The ID of the resources used when an embedded object is activated in-place.

pOleFrameClasspOleFrameClass
インプレースアクティブ化が発生したときに作成されるフレームウィンドウオブジェクトのクラス情報を含む CRuntimeClass 構造体へのポインター。Pointer to a CRuntimeClass structure containing class information for the frame window object created when in-place activation occurs.

pOleViewClasspOleViewClass
CRuntimeClassインプレースアクティベーションが発生したときに作成されるビューオブジェクトのクラス情報を格納している構造体へのポインター。Pointer to a CRuntimeClass structure containing class information for the view object created when in-place activation occurs.

解説Remarks

ユーザーが埋め込みオブジェクトのアクティベーションを要求したときに、サーバーアプリケーションによって使用されるリソースを識別するには、このメンバー関数を呼び出します。Call this member function to identify resources that will be used by the server application when the user requests activation of an embedded object. これらのリソースは、メニューとアクセラレータテーブルで構成されています。These resources consist of menus and accelerator tables. 通常、この関数はアプリケーションので呼び出され InitInstance ます。This function is usually called in the InitInstance of your application.

NIDOleInPlaceServer に関連付けられているメニューには、サーバーメニューをコンテナーのメニューとマージできるようにするための区切り記号が含まれています。The menu associated with nIDOleInPlaceServer contains separators that allow the server menu to merge with the menu of the container. サーバーメニューとコンテナーメニューのマージの詳細については、「 メニューとリソース (OLE)」を参照してください。For more information about merging server and container menus, see the article Menus and Resources (OLE).

CDocTemplate:: CreateプレビューフレームCDocTemplate::CreatePreviewFrame

リッチプレビューに使用する子フレームを作成します。Creates a child frame used for Rich Preview.

CFrameWnd* CreatePreviewFrame(
    CWnd* pParentWnd,
    CDocument* pDoc);

パラメーターParameters

pParentWndpParentWnd
親ウィンドウへのポインター (通常はシェルによって提供される)。A pointer to a parent window (usually provided by the Shell).

pDocpDoc
コンテンツがプレビューされるドキュメントオブジェクトへのポインター。A pointer to a document object, whose content will be previewed.

戻り値Return Value

オブジェクトへの有効なポインター CFrameWnd 。作成に失敗した場合は NULL。A valid pointer to a CFrameWnd object, or NULL if the creation fails.

解説Remarks

CDocTemplate:: SetPreviewInfoCDocTemplate::SetPreviewInfo

アウトプロセスプレビューハンドラーを設定します。Sets up the out of process preview handler.

void SetPreviewInfo(
    UINT nIDPreviewFrame,
    CRuntimeClass* pPreviewFrameClass = NULL,
    CRuntimeClass* pPreviewViewClass = NULL);

パラメーターParameters

nIDPreviewFramenIDPreviewFrame
プレビューフレームのリソース ID を指定します。Specifies a resource ID of the preview frame.

Pプレビュー FrameclasspPreviewFrameClass
プレビューフレームのランタイムクラス情報構造体へのポインターを指定します。Specifies a pointer to a runtime class information structure of the preview frame.

Pプレビュー ViewclasspPreviewViewClass
プレビュービューのランタイムクラス情報構造体へのポインターを指定します。Specifies a pointer to a runtime class information structure of the preview view.

解説Remarks

関連項目See also

CCmdTarget クラスCCmdTarget Class
階層図Hierarchy Chart
CSingleDocTemplate クラスCSingleDocTemplate Class
CMultiDocTemplate クラスCMultiDocTemplate Class
CDocument クラスCDocument Class
CView クラスCView Class
CScrollView クラスCScrollView Class
CEditView クラスCEditView Class
CFormView クラスCFormView Class
CFrameWnd クラスCFrameWnd Class
CMDIChildWnd クラスCMDIChildWnd Class