COleTemplateServer クラス
OLE のビジュアル編集サーバー、オートメーション サーバー、およびリンク コンテナー (埋め込みアイテムへのリンクをサポートするアプリケーションのことです) で使います。
構文
class COleTemplateServer : public COleObjectFactory
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
COleTemplateServer::COleTemplateServer | COleTemplateServer オブジェクトを構築します。 |
パブリック メソッド
名前 | 説明 |
---|---|
COleTemplateServer::ConnectTemplate | ドキュメント テンプレートを基になる COleObjectFactory オブジェクトに接続します。 |
COleTemplateServer::Unregister | 関連付けられているドキュメント テンプレートの登録を解除します。 |
COleTemplateServer::UpdateRegistry | OLE システム レジストリにドキュメントの種類を登録します。 |
解説
このクラスは COleObjectFactory クラスから派生します。通常は、独自のクラスを派生するのではなく、直接使用COleTemplateServer
できます。 COleTemplateServer
は、 CDocTemplate オブジェクトを使用してサーバー ドキュメントを管理します。 完全なサーバー 、つまりスタンドアロン アプリケーションとして実行できるサーバーを実装する場合に使用 COleTemplateServer
します。 フル サーバーは通常、複数のドキュメント インターフェイス (MDI) アプリケーションですが、単一ドキュメント インターフェイス (SDI) アプリケーションがサポートされています。 アプリケーションがサポートするサーバー ドキュメントの種類ごとに 1 つの COleTemplateServer
オブジェクトが必要です。つまり、サーバー アプリケーションがワークシートとグラフの両方をサポートしている場合は、2 つの COleTemplateServer
オブジェクトが必要です。
COleTemplateServer
によってCOleObjectFactory
定義されたメンバー関数をOnCreateInstance
オーバーライドします。 このメンバー関数は、適切な型の C++ オブジェクトを作成するためにフレームワークによって呼び出されます。
サーバーの詳細については、「サーバー: サーバーの 実装」を参照してください。
継承階層
COleTemplateServer
必要条件
ヘッダー : afxdisp.h
COleTemplateServer::COleTemplateServer
COleTemplateServer
オブジェクトを構築します。
COleTemplateServer();
解説
クラスのCOleTemplateServer
使用方法の簡単な説明については、COleLinkingDoc クラスの概要を参照してください。
COleTemplateServer::ConnectTemplate
pDocTemplate が指すドキュメント テンプレートを、基になる COleObjectFactory オブジェクトに接続します。
void ConnectTemplate(
REFCLSID clsid,
CDocTemplate* pDocTemplate,
BOOL bMultiInstance);
パラメーター
clsid
テンプレートが要求する OLE クラス ID への参照。
pDocTemplate
ドキュメント テンプレートへのポインター。
bMultiInstance
アプリケーションの 1 つのインスタンスが複数のインスタンス化をサポートできるかどうかを示します。 TRUE の場合、オブジェクトを作成する要求ごとに、アプリケーションの複数のインスタンスが起動されます。
解説
詳細については、Windows SDK の CLSID キーを参照してください。
COleTemplateServer::Unregister
関連付けられているドキュメント テンプレートの登録を解除します。
BOOL Unregister();
戻り値
成功した場合は TRUE、それ以外の場合は FALSE。
解説
EnterRemarks
COleTemplateServer::UpdateRegistry
ドキュメント テンプレート文字列からファイルの種類の情報を読み込み、その情報を OLE システム レジストリに配置します。
void UpdateRegistry(
OLE_APPTYPE nAppType = OAT_INPLACE_SERVER,
LPCTSTR* rglpszRegister = NULL,
LPCTSTR* rglpszOverwrite = NULL,
BOOL bRegister = TRUE);
パラメーター
nAppType
AFXDISP.H で定義されているOLE_APPTYPE列挙体の値。 次のいずれかの値を指定できます。
OAT_INPLACE_Standard Edition RVER Server には、完全なサーバー ユーザー インターフェイスがあります。
OAT_Standard Edition RVER Server では、埋め込みのみがサポートされます。
OAT_CONTAINER Container では、埋め込みオブジェクトへのリンクがサポートされています。
OAT_DISPATCH_OBJECT オブジェクトは -capable です
IDispatch
。OAT_DOC_OBJECT_Standard Edition RVER Server では、埋め込みとドキュメント オブジェクト コンポーネント モデルの両方がサポートされています。
rglpszRegister
エントリが存在しない場合にのみレジストリに書き込まれるエントリの一覧。
rglpszOverwrite
前のエントリが存在するかどうかに関係なく、レジストリに書き込まれるエントリの一覧。
bRegister
クラスを登録するかどうかを決定します。 bRegister が TRUE の場合、クラスはシステム レジストリに登録されます。 それ以外の場合は、クラスの登録を解除します。
解説
登録情報は、CDocTemplate::GetDocString の呼び出しによって読み込まれます。 取得される部分文字列は、参照ページでGetDocString
説明されているように、インデックスregFileTypeId
regFileTypeName
fileNewName
によって識別される部分文字列です。
部分文字列が regFileTypeId
空の場合、または他の理由で呼び出し GetDocString
が失敗した場合、この関数は失敗し、ファイル情報はレジストリに入力されません。
引数 rglpszRegister と rglpszOverwrite の情報は、AfxOleRegisterServerClass の呼び出しによってレジストリに書き込まれます。 2 つの引数が NULL の場合に登録される既定の情報は、ほとんどのアプリケーションに適しています。 これらの引数の情報の構造については、以下を参照してください AfxOleRegisterServerClass
。
詳細については、「 Implementing the IDispatch Interface」を参照してください。
関連項目
MFC サンプル HIERSVR
COleObjectFactory クラス
階層図
COleServerDoc クラス
COleServerItem クラス
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示