Vcl.OleCtnrs.TOleContainer
Delphi
TOleContainer = class(TCustomControl, IUnknown, IOleClientSite,
IOleInPlaceSite, IAdviseSink, IOleDocumentSite, IOleUIObjInfo)
C++
class PASCALIMPLEMENTATION TOleContainer : public Vcl::Controls::TCustomControl
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | Vcl.OleCtnrs.pas Vcl.OleCtnrs.hpp |
Vcl.OleCtnrs | Vcl.OleCtnrs |
説明
TOleContainer は、OLE オブジェクトの埋め込みまたはリンクを行います。
TOleContainer を使用すると、OLE 2.0 での複雑な処理の多くを扱うことができます。TOleContainer では、InsertObjectDialog メソッドを呼び出すだけで、挿入する OLE オブジェクトを選択できます。TOleContainer は、埋め込み OLE オブジェクトまたはリンクされた OLE オブジェクトを作成できます。
TOleContainer は、自動的にメニューをマージ処理します。つまり、コンテナ フォームのメニューを、インプレースのアクティブ化された OLE オブジェクトのサーバー アプリケーションのメニューと組み合わせる処理を行います。メニュー項目の GroupIndex プロパティ設定によって、メニューのマージ方法が制御されます。GroupIndex 値が 0、2、および 4 のメイン メニュー項目は残ります。TOleContainer は、サーバー アプリケーションのメニューをマージして、GroupIndex 値が 1、3、および 5 のメイン メニュー項目を置き換えます(存在する場合)。
インプレースでアクティブ化されている OLE オブジェクトは、コンテナ アプリケーションのウィンドウにサーバーのツールバーを直接追加します。通常、ツールバーに使用されるパネルは、OLE オブジェクトのサーバーのツールバーに置き換えられます。これを防ぐには、パネルの Locked プロパティを true に設定します。
SDI アプリケーションで TOleContainer を使用するには(メイン フォームの FormStyle プロパティが、fsMDIForm ではなく fsNormal の場合)、TOleContainer コンポーネントを、Align プロパティが alClient に設定されているパネルの内部に置きます。TOleContainer は、上で説明したように SDI フォームのツールバーを置き換えます。パネルを使用すると、OLE コンテナで使用可能な領域のサイズが自動的に調整されます。