COleClientItem クラス

OLE アイテムへのコンテナー インターフェイスを定義します。

構文

class COleClientItem : public CDocItem

メンバー

パブリック コンストラクター

名前 説明
COleClientItem::COleClientItem COleClientItem オブジェクトを構築します。

パブリック メソッド

名前 説明
COleClientItem::Activate 操作の OLE 項目を開き、指定した動詞を実行します。
COleClientItem::ActivateAs アイテムを別の種類としてアクティブにします。
COleClientItem::AttachDataObject OLE オブジェクト内のデータにアクセスします。
COleClientItem::CanCreateFromData コンテナー アプリケーションが埋め込みオブジェクトを作成できるかどうかを示します。
COleClientItem::CanCreateLinkFromData コンテナー アプリケーションがリンク オブジェクトを作成できるかどうかを示します。
COleClientItem::CanPaste クリップボードに埋め込み可能な OLE 項目と静的 OLE 項目のどちらが含まれているかを示します。
COleClientItem::CanPasteLink クリップボードにリンク可能な OLE 項目が含まれているかどうかを示します。
COleClientItem::Close サーバーへのリンクを閉じますが、OLE 項目は破棄しません。
COleClientItem::ConvertTo 項目を別の型に変換します。
COleClientItem::CopyToClipboard OLE 項目をクリップボードにコピーします。
COleClientItem::CreateCloneFrom 既存の項目の複製を作成します。
COleClientItem::CreateFromClipboard クリップボードから埋め込みアイテムを作成します。
COleClientItem::CreateFromData データ オブジェクトから埋め込みアイテムを作成します。
COleClientItem::CreateFromFile ファイルから埋め込み項目を作成します。
COleClientItem::CreateLinkFromClipboard クリップボードからリンク アイテムを作成します。
COleClientItem::CreateLinkFromData データ オブジェクトからリンクアイテムを作成します。
COleClientItem::CreateLinkFromFile ファイルからリンクアイテムを作成します。
COleClientItem::CreateNewItem サーバー アプリケーションを起動して、新しい埋め込み項目を作成します。
COleClientItem::CreateStaticFromClipboard クリップボードから静的項目を作成します。
COleClientItem::CreateStaticFromData データ オブジェクトから静的項目を作成します。
COleClientItem::D eactivate アイテムを非アクティブ化します。
COleClientItem::D eactivateUI コンテナー アプリケーションのユーザー インターフェイスを元の状態に復元します。
COleClientItem::D elete OLE アイテムがリンク アイテムの場合は、そのアイテムを削除または閉じます。
COleClientItem::DoDragDrop ドラッグ アンド ドロップ操作を実行します。
COleClientItem::D oVerb 指定した動詞を実行します。
COleClientItem::D raw OLE 項目を描画します。
COleClientItem::GetActiveView 項目がアクティブ化されているビューを取得します。
COleClientItem::GetCachedExtent OLE 項目の四角形の境界を返します。
COleClientItem::GetClassID 現在の項目のクラス ID を取得します。
COleClientItem::GetClipboardData メンバー関数を呼び出してクリップボードに配置されるデータを CopyToClipboard 取得します。
COleClientItem::GetDocument 現在の項目を COleDocument 含むオブジェクトを返します。
COleClientItem::GetDrawAspect レンダリング用のアイテムの現在のビューを取得します。
COleClientItem::GetExtent OLE 項目の四角形の境界を返します。
COleClientItem::GetIconFromRegistry 特定の CLSID のサーバーに関連付けられているアイコンへのハンドルを取得します。
COleClientItem::GetIconicMetafile アイテムのアイコンの描画に使用するメタファイルを取得します。
COleClientItem::GetInPlaceWindow アイテムのインプレース編集ウィンドウへのポインターを返します。
COleClientItem::GetItemState アイテムの現在の状態を取得します。
COleClientItem::GetLastStatus 最後の OLE 操作の状態を返します。
COleClientItem::GetLinkUpdateOptions リンク アイテム (高度な機能) の更新モードを返します。
COleClientItem::GetType OLE 項目の型 (埋め込み、リンク、または静的) を返します。
COleClientItem::GetUserType 項目の型を記述する文字列を取得します。
COleClientItem::IsInPlaceActive アイテムがインプレース アクティブな場合は TRUE を返します。
COleClientItem::IsLinkUpToDate リンク アイテムがソース ドキュメントと共に最新の状態である場合は TRUE を返します。
COleClientItem::IsModified アイテムが最後に保存されてから変更された場合は TRUE を返します。
COleClientItem::IsOpen アイテムがサーバー アプリケーションで現在開いている場合は TRUE を返します。
COleClientItem::IsRunning アイテムのサーバー アプリケーションが実行されている場合は TRUE を返します。
COleClientItem::OnActivate アクティブ化されたことを項目に通知するためにフレームワークによって呼び出されます。
COleClientItem::OnActivateUI アクティブ化され、そのユーザー インターフェイスを表示する必要があることを項目に通知するために、フレームワークによって呼び出されます。
COleClientItem::OnChange サーバーが OLE 項目を変更したときに呼び出されます。 実装が必要です。
COleClientItem::OnDeactivate 項目が非アクティブ化されたときにフレームワークによって呼び出されます。
COleClientItem::OnDeactivateUI サーバーがインプレース ユーザー インターフェイスを削除したときにフレームワークによって呼び出されます。
COleClientItem::OnGetClipboardData クリップボードにコピーするデータを取得するためにフレームワークによって呼び出されます。
COleClientItem::OnInsertMenus 複合メニューを作成するためにフレームワークによって呼び出されます。
COleClientItem::OnRemoveMenus 複合メニューからコンテナーのメニューを削除するためにフレームワークによって呼び出されます。
COleClientItem::OnSetMenu 複合メニューをインストールおよび削除するためにフレームワークによって呼び出されます。
COleClientItem::OnShowControlBars コントロール バーの表示と非表示を切り替えるためにフレームワークによって呼び出されます。
COleClientItem::OnUpdateFrameTitle フレーム ウィンドウのタイトル バーを更新するためにフレームワークによって呼び出されます。
COleClientItem::ReactivateAndUndo アイテムを再アクティブ化し、最後のインプレース編集操作を元に戻します。
COleClientItem::Release OLE リンク アイテムへの接続を解放し、開いていた場合は閉じます。 クライアント項目を破棄しません。
COleClientItem::Reload への呼び出し後にアイテムを再読み込みします ActivateAs
COleClientItem::Run アイテムに関連付けられているアプリケーションを実行します。
COleClientItem::SetDrawAspect レンダリングするアイテムの現在のビューを設定します。
COleClientItem::SetExtent OLE 項目の外接する四角形を設定します。
COleClientItem::SetHostNames OLE アイテムの編集時にサーバーに表示される名前を設定します。
COleClientItem::SetIconicMetafile アイテムのアイコンの描画に使用するメタファイルをキャッシュします。
COleClientItem::SetItemRects 項目の外接する四角形を設定します。
COleClientItem::SetLinkUpdateOptions リンク アイテム (高度な機能) の更新モードを設定します。
COleClientItem::SetPrintDevice このクライアント項目の印刷ターゲット デバイスを設定します。
COleClientItem::UpdateLink アイテムのプレゼンテーション キャッシュを更新します。

保護メソッド

名前 説明
COleClientItem::CanActivate インプレース アクティブ化が許可されているかどうかを判断するためにフレームワークによって呼び出されます。
COleClientItem::OnChangeItemPosition 項目の位置が変更されたときにフレームワークによって呼び出されます。
COleClientItem::OnDeactivateAndUndo アクティブ化後に元に戻すためにフレームワークによって呼び出されます。
COleClientItem::OnDisカードUndoState アイテムの元に戻す状態情報をカード解除するためにフレームワークによって呼び出されます。
COleClientItem::OnGetClipRect 項目のクリッピング四角形座標を取得するためにフレームワークによって呼び出されます。
COleClientItem::OnGetItemPosition ビューに対する項目の位置を取得するためにフレームワークによって呼び出されます。
COleClientItem::OnGetWindowContext 項目が所定の位置でアクティブ化されたときにフレームワークによって呼び出されます。
COleClientItem::OnScrollBy 項目をビューにスクロールするためにフレームワークによって呼び出されます。
COleClientItem::OnShowItem OLE 項目を表示するためにフレームワークによって呼び出されます。

解説

OLE アイテムは、サーバー アプリケーションによって作成およびメインデータを表します。これは、ユーザーが単一のドキュメントになるように、ドキュメントに "シームレスに" 組み込むことができます。 結果は、OLE アイテムと含まれるドキュメントで構成される "複合ドキュメント" になります。

OLE 項目は、埋め込みまたはリンクすることができます。 埋め込まれている場合、そのデータは複合ドキュメントの一部として格納されます。 リンクされている場合、そのデータはサーバー アプリケーションによって作成された別のファイルの一部として格納され、そのファイルへのリンクのみが複合ドキュメントに格納されます。 すべての OLE 項目には、それらを編集するために呼び出す必要があるサーバー アプリケーションを指定する情報が含まれています。

COleClientItem は、サーバー アプリケーションからの要求に応答して呼び出されるオーバーライド可能な関数をいくつか定義します。これらのオーバーライド可能な機能は、通常、通知として機能します。 これにより、サーバー アプリケーションは、OLE アイテムの編集時にユーザーが行った変更をコンテナーに通知したり、編集中に必要な情報を取得したりできます。

COleClientItemは、COleDocument、COleLinkingDoc、または COleServerDoc クラスで使用できます。 使用COleClientItemするには、そこからクラスを派生させ、OnChange メンバー関数を実装します。この関数は、項目に加えられた変更に対するコンテナーの応答方法を定義します。 インプレース アクティブ化をサポートするには、OnGetItemPosition メンバー関数をオーバーライドします。 この関数は、OLE 項目の表示位置に関する情報を提供します。

コンテナー インターフェイスの使用方法の詳細については、「コンテナー: コンテナーとアクティブ化実装」の記事を参照してください。

Note

Windows SDK は、埋め込みおよびリンクされた項目を "オブジェクト" と参照し、項目の種類を "クラス" と参照します。このリファレンスでは、"item" という用語を使用して、OLE エンティティを対応する C++ オブジェクトと区別し、用語 "type" を使用して OLE カテゴリを C++ クラスと区別します。

継承階層

CObject

CCmdTarget

CDocItem

COleClientItem

必要条件

ヘッダー: afxole.h

COleClientItem::Activate

例外がスローされたときに独自の処理を実行できるように、DoVerb ではなく指定された動詞を実行するには、この関数を呼び出します。

void Activate(
    LONG nVerb,
    CView* pView,
    LPMSG lpMsg = NULL);

パラメーター

nVerb
実行する動詞を指定します。 次のいずれかを指定できます。

Value 意味 記号
- 0 主動詞 OLEIVERB_PRIMARY
- 1 第 2 動詞 (なし)
- 1 編集用のアイテムを表示する OLEIVERB_SHOW
- 2 別のウィンドウでアイテムを編集する OLEIVERB_OPEN
- 3 アイテムを非表示にする OLEIVERB_HIDE

通常、-1 値は別の動詞のエイリアスです。 開く編集がサポートされていない場合、-2 は -1 と同じ効果を持ちます。 その他の値については、Windows SDK の IOleObject::D oVerb を参照してください

pView
OLE 項目を含むコンテナー ビュー ウィンドウへのポインター。これは、インプレース アクティブ化のためにサーバー アプリケーションによって使用されます。 コンテナーがインプレース アクティブ化をサポートしていない場合、このパラメーターは NULL にする必要があります。

lpMsg
項目がアクティブ化される原因となったメッセージへのポインター。

解説

サーバー アプリケーションが Microsoft Foundation クラス ライブラリを使用して作成された場合、この関数により、対応するCOleServerItemオブジェクトの OnDoVerb メンバー関数が実行されます。

主動詞が Edit で、nVerb パラメーターに 0 が指定されている場合は、OLE 項目を編集できるようにサーバー アプリケーションが起動されます。 コンテナー アプリケーションがインプレース アクティブ化をサポートしている場合は、その場で編集を行うことができます。 コンテナーがインプレース アクティブ化をサポートしていない場合 (または Open 動詞が指定されている場合)、サーバーは別のウィンドウで起動され、そこで編集を行うことができます。 通常、コンテナー アプリケーションのユーザーが OLE 項目をダブルクリックすると、nVerb パラメーターの主動詞の値によって、ユーザーが実行できるアクションが決まります。 ただし、サーバーがサポートするアクションが 1 つだけの場合、nVerb パラメーターで指定されている値に関係なく、そのアクションが実行されます。

詳細については、Windows SDK の IOleObject::D oVerb を参照してください

COleClientItem::ActivateAs

OLE のオブジェクト変換機能を使用して、clsidNew指定された型の項目であるかのように項目をアクティブにします。

virtual BOOL ActivateAs(
    LPCTSTR lpszUserType,
    REFCLSID clsidOld,
    REFCLSID clsidNew);

パラメーター

lpszUserType
"Word 文書" など、ターゲット ユーザーの種類を表す文字列へのポインター。

clsidOld
アイテムの現在のクラス ID への参照。 クラス ID は、リンクでない限り、格納されている実際のオブジェクトの型を表す必要があります。 その場合は、リンクが参照する項目の CLSID である必要があります。 COleConvertDialog、アイテムの正しいクラス ID を自動的に提供します。

clsidNew
ターゲット クラス ID への参照。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

これは、COleConvertDialog::D oConvert によって自動的に呼び出されます。 通常は直接呼び出されません。

COleClientItem::AttachDataObject

OLE アイテム内の データにアクセスするための COleDataObject を初期化するには、この関数を呼び出します。

void AttachDataObject(COleDataObject& rDataObject) const;

パラメーター

rDataObject
OLE アイテム内の COleDataObject データへのアクセスを許可するために初期化されるオブジェクトへの参照。

COleClientItem::CanActivate

ユーザーが OLE 項目のインプレース アクティブ化を要求したときにフレームワークによって呼び出されます。この関数の戻り値は、インプレース アクティブ化を許可するかどうかを決定します。

virtual BOOL CanActivate();

戻り値

インプレース アクティブ化が許可されている場合は 0 以外。それ以外の場合は 0。

解説

コンテナーに有効なウィンドウがある場合、既定の実装ではインプレース アクティブ化が許可されます。 アクティブ化要求を受け入れるか拒否するための特別なロジックを実装するには、この関数をオーバーライドします。 たとえば、OLE アイテムが小さすぎる場合や、現在表示されていない場合は、アクティブ化要求を拒否できます。

詳細については、Windows SDK の IOleInPlaceSite::CanInPlaceActivate を参照してください

COleClientItem::CanCreateFromData

コンテナー アプリケーションが、指定 COleDataObject されたオブジェクトから埋め込みオブジェクトを作成できるかどうかを確認します。

static BOOL PASCAL CanCreateFromData(const COleDataObject* pDataObject);

パラメーター

pDataObject
OLE 項目の 作成元となる COleDataObject オブジェクトへのポインター。

戻り値

コンテナーがオブジェクトから埋め込みオブジェクトを作成できる場合は 0 以外、 COleDataObject それ以外の場合は 0。

解説

この COleDataObject クラスは、クリップボード、ドラッグ アンド ドロップ、または埋め込み OLE 項目からさまざまな形式のデータを取得するために、データ転送で使用されます。

コンテナーでは、この関数を使用して、[貼り付けの編集] コマンドと [特殊な貼り付けの編集] コマンドを有効または無効にすることができます。

詳細については、「データ オブジェクトとデータ ソース (OLE)」を参照してください。

COleClientItem::CanCreateLinkFromData

コンテナー アプリケーションが特定 COleDataObject のオブジェクトからリンク オブジェクトを作成できるかどうかを確認します。

static BOOL PASCAL CanCreateLinkFromData(const COleDataObject* pDataObject);

パラメーター

pDataObject
OLE 項目の 作成元となる COleDataObject オブジェクトへのポインター。

戻り値

コンテナーがオブジェクトから COleDataObject リンク オブジェクトを作成できる場合は 0 以外。

解説

この COleDataObject クラスは、クリップボード、ドラッグ アンド ドロップ、または埋め込み OLE 項目からさまざまな形式のデータを取得するために、データ転送で使用されます。

コンテナーでは、この関数を使用して、特殊な貼り付け編集コマンドと貼り付けリンクの編集コマンドを有効または無効にすることができます。

詳細については、「データ オブジェクトとデータ ソース (OLE)」を参照してください。

COleClientItem::CanPaste

埋め込み OLE 項目をクリップボードから貼り付けることができるかどうかを確認するには、この関数を呼び出します。

static BOOL PASCAL CanPaste();

戻り値

埋め込み OLE 項目をクリップボードから貼り付けることができる場合は 0 以外。それ以外の場合は 0。

解説

詳細については、Windows SDK の OleGetClipboard と OleQueryCreateFromData を参照してください

この関数を呼び出して、リンクされた OLE アイテムをクリップボードから貼り付けることができるかどうかを確認します。

static BOOL PASCAL CanPasteLink();

戻り値

リンクされた OLE 項目をクリップボードから貼り付けることができる場合は 0 以外。それ以外の場合は 0。

解説

詳細については、Windows SDK の OleGetClipboard と OleQueryLinkFromData を参照してください

COleClientItem::Close

この関数を呼び出して、OLE 項目の状態を実行中の状態から読み込まれた状態に変更します。つまり、ハンドラーをメモリに読み込んでもサーバーが実行されていない状態に変更します。

void Close(OLECLOSE dwCloseOption = OLECLOSE_SAVEIFDIRTY);

パラメーター

dwCloseOption
読み込まれた状態に戻ったときに OLE 項目を保存する状況を指定するフラグ。 次のいずれかの値を指定できます。

  • OLECLO Standard Edition_SAVEIFDIRTY OLE アイテムを保存します。

  • OLECLO Standard Edition_NOSAVE OLE アイテムを保存しないでください。

  • OLECLO Standard Edition_PROMPTSAVE OLE 項目を保存するかどうかをユーザーに求めるメッセージを表示します。

解説

OLE 項目が実行されていない場合、この関数は無効です。

詳細については、「Windows SDK で IOleObject::Close」を参照してください

COleClientItem::COleClientItem

オブジェクトを COleClientItem 構築し、コンテナー ドキュメントのドキュメント 項目のコレクションに追加します。これは、C++ オブジェクトのみを構築し、OLE の初期化を実行しません。

COleClientItem(COleDocument* pContainerDoc = NULL);

パラメーター

pContainerDoc
この項目を含むコンテナー ドキュメントへのポインター。 任意の COleDocument 派生関数を指定できます

解説

NULL ポインターを渡した場合、コンテナー ドキュメントに追加は行われません。 COleDocument::AddItem を明示的に呼び出す必要があります。

OLE 項目を使用する前に、次のいずれかの作成メンバー関数を呼び出す必要があります。

COleClientItem::ConvertTo

このメンバー関数を呼び出して、clsidNew で 指定された型に項目を変換します

virtual BOOL ConvertTo(REFCLSID clsidNew);

パラメーター

clsidNew
ターゲット型のクラス ID。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

これは COleConvertDialog によって自動的に呼び出されます。 直接呼び出す必要はありません。

COleClientItem::CopyToClipboard

OLE 項目をクリップボードにコピーするには、この関数を呼び出します。

void CopyToClipboard(BOOL bIncludeLink = FALSE);

パラメーター

bIncludeLink
リンク情報をクリップボードにコピーする必要がある場合は TRUE。リンクアイテムを貼り付けることができます。それ以外の場合は FAL Standard Edition。

解説

通常、この関数は、[編集] メニューから [コピー] または [切り取り] コマンドのメッセージ ハンドラーを記述するときに呼び出します。 Copy または Cut コマンドを実装する場合は、コンテナー アプリケーションで項目の選択を実装する必要があります。

詳細については、Windows SDK の OleSetClipboard を参照してください

COleClientItem::CreateCloneFrom

指定した OLE 項目のコピーを作成するには、この関数を呼び出します。

BOOL CreateCloneFrom(const COleClientItem* pSrcItem);

パラメーター

pSrcItem
複製する OLE 項目へのポインター。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

コピーはソースアイテムと同じです。 この関数を使用すると、元に戻す操作をサポートできます。

COleClientItem::CreateFromClipboard

クリップボードの内容から埋め込み項目を作成するには、この関数を呼び出します。

BOOL CreateFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

パラメーター

render
サーバーが OLE 項目をレンダリングする方法を指定するフラグ。 使用可能な値については、Windows SDK の OLERENDER を参照してください

cfFormat
OLE アイテムの作成時にキャッシュするクリップボード のデータ形式を指定します。

lpFormatEtc
レンダーOLERENDER_FORMATまたはOLERENDER_DRAW場合に使用される FORMATETC 構造体へのポインター。 cfFormat で指定したクリップボード形式以外に追加の形式情報を指定する場合にのみ、このパラメーターの値を指定します。 このパラメーターを省略すると、構造体内の他のフィールドに既定値が FORMATETC 使用されます。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

通常、この関数は、[編集] メニューの [貼り付け] コマンドのメッセージ ハンドラーから呼び出します。 ([貼り付け] コマンドは、次の場合にフレームワークによって有効になります。 CanPaste メンバー関数は 0 以外の値を返します。)

詳細については、Windows SDK の OLERENDER と FORMATETC を参照してください

COleClientItem::CreateFromData

オブジェクトから埋め込み項目を作成するには、この関数を COleDataObject 呼び出します。

BOOL CreateFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

パラメーター

pDataObject
OLE 項目の 作成元となる COleDataObject オブジェクトへのポインター。

render
サーバーが OLE 項目をレンダリングする方法を指定するフラグ。 使用可能な値については、Windows SDK の OLERENDER を参照してください

cfFormat
OLE アイテムの作成時にキャッシュするクリップボード のデータ形式を指定します。

lpFormatEtc
レンダーOLERENDER_FORMATまたはOLERENDER_DRAW場合に使用される FORMATETC 構造体へのポインター。 cfFormat で指定したクリップボード形式以外に追加の形式情報を指定する場合にのみ、このパラメーターの値を指定します。 このパラメーターを省略すると、構造体内の他のフィールドに既定値が FORMATETC 使用されます。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

クリップボードからの貼り付けやドラッグ アンド ドロップ操作などのデータ転送操作は、サーバー アプリケーションによって提供される情報を含むオブジェクトを提供 COleDataObject します。 これは通常、CView::OnDropオーバーライドで使用されます。

詳細については、Windows SDK の OleCreateFromData、OLERENDER、および FORMATETC を参照してください。

COleClientItem::CreateFromFile

この関数を呼び出して、ファイルから埋め込み OLE 項目を作成します。

BOOL CreateFromFile(
    LPCTSTR lpszFileName,
    REFCLSID clsid = CLSID_NULL,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

パラメーター

lpszFileName
OLE 項目の作成元となるファイルの名前へのポインター。

clsid
将来利用するために予約されています。

render
サーバーが OLE 項目をレンダリングする方法を指定するフラグ。 使用可能な値については、Windows SDK の OLERENDER を参照してください

cfFormat
OLE アイテムの作成時にキャッシュするクリップボード のデータ形式を指定します。

lpFormatEtc
レンダーOLERENDER_FORMATまたはOLERENDER_DRAW場合に使用される FORMATETC 構造体へのポインター。 cfFormat で指定したクリップボード形式以外に追加の形式情報を指定する場合にのみ、このパラメーターの値を指定します。 このパラメーターを省略すると、構造体内の他のフィールドに既定値が FORMATETC 使用されます。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

[ファイルから 作成] ボタンが選択されているときにユーザーが [オブジェクトの挿入] ダイアログ ボックスで [OK] を選択した場合、フレームワークは COleInsertDialog::CreateItem からこの関数を呼び出します。

詳細については、Windows SDK の OleCreateFromFile、OLERENDER、FORMATETCを参照してください。

COleClientItem::CreateLinkFromClipboard

クリップボードの内容からリンクアイテムを作成するには、この関数を呼び出します。

BOOL CreateLinkFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

パラメーター

render
サーバーが OLE 項目をレンダリングする方法を指定するフラグ。 使用可能な値については、Windows SDK の OLERENDER を参照してください

cfFormat
OLE アイテムの作成時にキャッシュするクリップボード のデータ形式を指定します。

lpFormatEtc
レンダーOLERENDER_FORMATまたはOLERENDER_DRAW場合に使用される FORMATETC 構造体へのポインター。 cfFormat で指定したクリップボード形式以外に追加の形式情報を指定する場合にのみ、このパラメーターの値を指定します。 このパラメーターを省略すると、構造体内の他のフィールドに既定値が FORMATETC 使用されます。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

通常、この関数は、[編集] メニューの [リンクの貼り付け] コマンドのメッセージ ハンドラーから呼び出します。 ([リンクの貼り付け] コマンドは、次の既定の 実装で有効になっています。リンク可能な OLE 項目がクリップボードに含まれている場合は COleDocument

詳細については、Windows SDK の OLERENDER と FORMATETC を参照してください

COleClientItem::CreateLinkFromData

この関数を呼び出して、オブジェクトからリンクアイテムを COleDataObject 作成します。

BOOL CreateLinkFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

パラメーター

pDataObject
OLE 項目の 作成元となる COleDataObject オブジェクトへのポインター。

render
サーバーが OLE 項目をレンダリングする方法を指定するフラグ。 使用可能な値については、Windows SDK の OLERENDER を参照してください

cfFormat
OLE アイテムの作成時にキャッシュするクリップボード のデータ形式を指定します。

lpFormatEtc
レンダーOLERENDER_FORMATまたはOLERENDER_DRAW場合に使用される FORMATETC 構造体へのポインター。 cfFormat で指定したクリップボード形式以外に追加の形式情報を指定する場合にのみ、このパラメーターの値を指定します。 このパラメーターを省略すると、構造体内の他のフィールドに既定値が FORMATETC 使用されます。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

ユーザーがリンクを作成する必要があることを示すときに、ドロップ操作中にこれを呼び出します。 また、[貼り付けの編集] コマンドを処理するためにも使用できます。 リンク オプションが選択されている場合、COlePasteSpecialDialog::CreateItem 内および COlePasteSpecialDialog 内のフレームワークCOleClientItem::CreateLinkFromClipboardによって呼び出されます。

詳細については、Windows SDK の OleCreateLinkFromData、OLERENDER、FORMATETCを参照してください。

COleClientItem::CreateLinkFromFile

この関数を呼び出して、ファイルからリンクされた OLE アイテムを作成します。

BOOL CreateLinkFromFile(
    LPCTSTR lpszFileName,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

パラメーター

lpszFileName
OLE 項目の作成元となるファイルの名前へのポインター。

render
サーバーが OLE 項目をレンダリングする方法を指定するフラグ。 使用可能な値については、Windows SDK の OLERENDER を参照してください

cfFormat
OLE アイテムの作成時にキャッシュするクリップボード のデータ形式を指定します。

lpFormatEtc
レンダーOLERENDER_FORMATまたはOLERENDER_DRAW場合に使用される FORMATETC 構造体へのポインター。 cfFormat で指定したクリップボード形式以外に追加の形式情報を指定する場合にのみ、このパラメーターの値を指定します。 このパラメーターを省略すると、構造体内の他のフィールドに既定値が FORMATETC 使用されます。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

[ファイルから作成] ボタンが選択され、[リンク チェック] ボックスがチェックされたときに、ユーザーが [オブジェクトの挿入] ダイアログ ボックスから [OK] を選択した場合、フレームワークはこの関数を呼び出します。 COleInsertDialog::CreateItem から呼び出されます。

詳細については、Windows SDK の OleCreateLinkToFile、OLERENDER、FORMATETCを参照してください。

COleClientItem::CreateNewItem

埋め込み項目を作成するには、この関数を呼び出します。この関数は、ユーザーが OLE 項目を作成できるようにするサーバー アプリケーションを起動します。

BOOL CreateNewItem(
    REFCLSID clsid,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

パラメーター

clsid
作成する OLE アイテムの種類を一意に識別する ID。

render
サーバーが OLE 項目をレンダリングする方法を指定するフラグ。 使用可能な値については、Windows SDK の OLERENDER を参照してください

cfFormat
OLE アイテムの作成時にキャッシュするクリップボード のデータ形式を指定します。

lpFormatEtc
レンダーOLERENDER_FORMATまたはOLERENDER_DRAW場合に使用される FORMATETC 構造体へのポインター。 cfFormat で指定したクリップボード形式以外に追加の形式情報を指定する場合にのみ、このパラメーターの値を指定します。 このパラメーターを省略すると、構造体内の他のフィールドに既定値が FORMATETC 使用されます。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

ユーザーが [新規作成] ボタンを選択したときに [オブジェクトの挿入] ダイアログ ボックスで [OK] を選択した場合、フレームワークはこの関数を呼び出します。

詳細については、Windows SDK の OleCreate、OLERENDER、FORMATETCを参照してください。

COleClientItem::CreateStaticFromClipboard

クリップボードの内容から静的項目を作成するには、この関数を呼び出します。

BOOL CreateStaticFromClipboard(
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

パラメーター

render
サーバーが OLE 項目をレンダリングする方法を指定するフラグ。 使用可能な値については、Windows SDK の OLERENDER を参照してください

cfFormat
OLE アイテムの作成時にキャッシュするクリップボード のデータ形式を指定します。

lpFormatEtc
レンダーOLERENDER_FORMATまたはOLERENDER_DRAW場合に使用される FORMATETC 構造体へのポインター。 cfFormat で指定したクリップボード形式以外に追加の形式情報を指定する場合にのみ、このパラメーターの値を指定します。 このパラメーターを省略すると、構造体内の他のフィールドに既定値が FORMATETC 使用されます。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

静的項目にはプレゼンテーション データが含まれますが、ネイティブ データは含まれません。その結果、編集できません。 この関数は、通常、CreateFromClipboard メンバー関数が失敗した場合に呼び出します。

詳細については、Windows SDK の OLERENDER と FORMATETC を参照してください

COleClientItem::CreateStaticFromData

オブジェクトから静的項目を作成するには、この関数を COleDataObject 呼び出します。

BOOL CreateStaticFromData(
    COleDataObject* pDataObject,
    OLERENDER render = OLERENDER_DRAW,
    CLIPFORMAT cfFormat = 0,
    LPFORMATETC lpFormatEtc = NULL);

パラメーター

pDataObject
OLE 項目の 作成元となる COleDataObject オブジェクトへのポインター。

render
サーバーが OLE 項目をレンダリングする方法を指定するフラグ。 使用可能な値については、Windows SDK の OLERENDER を参照してください

cfFormat
OLE アイテムの作成時にキャッシュするクリップボード のデータ形式を指定します。

lpFormatEtc
レンダーOLERENDER_FORMATまたはOLERENDER_DRAW場合に使用される FORMATETC 構造体へのポインター。 cfFormat で指定したクリップボード形式以外に追加の形式情報を指定する場合にのみ、このパラメーターの値を指定します。 このパラメーターを省略すると、構造体内の他のフィールドに既定値が FORMATETC 使用されます。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

静的項目にはプレゼンテーション データが含まれますが、ネイティブ データは含まれません。したがって、編集することはできません。 これは基本的に CreateStaticFromClipboard同じですが、クリップボードからだけでなく、任意COleDataObjectの項目から静的項目を作成できる点が異なります。

静的が選択されている場合、COlePasteSpecialDialog::CreateItem使用されます。

詳細については、Windows SDK の OleCreateStaticFromData、OLERENDER、および FORMATETC を参照してください。

COleClientItem::D eactivate

OLE アイテムを非アクティブ化し、関連付けられているリソースを解放するには、この関数を呼び出します。

void Deactivate();

解説

通常は、ユーザーが項目の境界外のクライアント領域でマウスをクリックしたときに、インプレースアクティブ OLE アイテムを非アクティブにします。 OLE 項目を非アクティブ化すると、元に戻す状態カード無効になり、ReactivateAndUndo メンバー関数を呼び出すことができなくなります。

アプリケーションで元に戻すことがサポートされている場合は、呼び出Deactivateさないでください。代わりに DeactivateUI を呼び出します。

詳細については、Windows SDK の IOleInPlaceObject::InPlaceDeactivate を参照してください

COleClientItem::D eactivateUI

ユーザーがインプレースでアクティブ化された項目を非アクティブ化するときに、この関数を呼び出します。

void DeactivateUI();

解説

この関数は、コンテナー アプリケーションのユーザー インターフェイスを元の状態に戻し、インプレース アクティブ化のために作成されたメニューやその他のコントロールを非表示にします。

この関数は、アイテムの元に戻す状態情報をフラッシュしません。 この情報は保持されるため、アイテムを 非アクティブ化した直後にコンテナーの元に戻すコマンドが選択された場合に備えて、ReactivateAndUndo を使用してサーバー アプリケーションで元に戻すコマンドを実行できます。

詳細については、Windows SDK の IOleInPlaceObject::InPlaceDeactivate を参照してください

COleClientItem::D elete

コンテナー ドキュメントから OLE 項目を削除するには、この関数を呼び出します。

void Delete(BOOL bAutoDelete = TRUE);

パラメーター

bAutoDelete
アイテムをドキュメントから削除するかどうかを指定します。

解説

この関数は Release メンバー関数を呼び出します。これにより、アイテムの C++ オブジェクトが削除され、ドキュメントから OLE 項目が完全に削除されます。 OLE 項目が埋め込まれている場合、そのアイテムのネイティブ データは削除されます。 これは常に実行中のサーバーを閉じます。したがって、アイテムが開いているリンクである場合、この関数はそれを閉じます。

COleClientItem::DoDragDrop

DoDragDropドラッグ アンド ドロップ操作を実行するメンバー関数を呼び出します。

DROPEFFECT DoDragDrop(
    LPCRECT lpItemRect,
    CPoint ptOffset,
    BOOL bIncludeLink = FALSE,
    DWORD dwEffects = DROPEFFECT_COPY | DROPEFFECT_MOVE,
    LPCRECT lpRectStartDrag = NULL);

パラメーター

lpItemRect
クライアント座標 (ピクセル) での画面上の項目の四角形。

ptOffset
ドラッグ時のマウス位置が lpItemRect からのオフセット。

bIncludeLink
リンク データをクリップボードにコピーする必要がある場合は、これを TRUE に設定します。 サーバー アプリケーションがリンクをサポートしていない場合はStandard Edition FAL に設定します。

dwEffects
ドラッグ操作でドラッグ 元が許可する効果を指定します。

lpRectStartDrag
ドラッグが実際に開始される場所を定義する四角形へのポインター。 詳細については、「解説」を参照してください。

戻り値

DROPEFFECT 値。 DROPEFFECT_MOVEされている場合は、元のデータを削除する必要があります。

解説

ドラッグ アンド ドロップ操作はすぐには開始されません。 マウス カーソルが lpRectStartDrag で指定された四角形を離れるまで、または指定したミリ秒が経過するまで待ちます。 lpRectStartDrag が NULL の場合、四角形のサイズは 1 ピクセルです。

遅延時間は、レジストリ キーの設定によって指定されます。 遅延時間を変更するには、CWinApp::WriteProfileString または CWinApp::WriteProfileInt を呼び出します。 遅延時間を指定しない場合は、既定値の 200 ミリ秒が使用されます。 ドラッグの遅延時間は次のように格納されます。

  • Windows NT ドラッグの遅延時間は HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay に格納されます。

  • Windows 3.x ドラッグの遅延時間は、WIN.INI ファイルの [Windows} セクションに格納されます。

  • Windows 95/98 ドラッグの遅延時間は、キャッシュされたバージョンの WIN.INI に格納されます。

ドラッグの遅延情報がレジストリまたは .INI ファイルのいずれかに格納される方法について詳しくは、Windows SDK の WriteProfileString に関する記事を参照してください。

COleClientItem::D oVerb

指定した動詞を実行する呼び出し DoVerb

virtual BOOL DoVerb(
    LONG nVerb,
    CView* pView,
    LPMSG lpMsg = NULL);

パラメーター

nVerb
実行する動詞を指定します。 これには、次のいずれかを含めることができます。

Value 意味 記号
- 0 主動詞 OLEIVERB_PRIMARY
- 1 第 2 動詞 (なし)
- 1 編集用のアイテムを表示する OLEIVERB_SHOW
- 2 別のウィンドウでアイテムを編集する OLEIVERB_OPEN
- 3 アイテムを非表示にする OLEIVERB_HIDE

通常、-1 値は別の動詞のエイリアスです。 開く編集がサポートされていない場合、-2 は -1 と同じ効果を持ちます。 その他の値については、Windows SDK の IOleObject::D oVerb を参照してください

pView
ビュー ウィンドウへのポインター。これは、インプレース アクティブ化のためにサーバーによって使用されます。 コンテナー アプリケーションでインプレース アクティブ化が許可されていない場合、このパラメーターは NULL にする必要があります。

lpMsg
項目がアクティブ化される原因となったメッセージへのポインター。

戻り値

動詞が正常に実行された場合は 0 以外。それ以外の場合は 0。

解説

この関数は、Activate メンバー関数を呼び出して動詞を実行します。 また、例外をキャッチし、スローされた場合はメッセージ ボックスをユーザーに表示します。

主動詞が Edit で、nVerb パラメーターに 0 が指定されている場合は、OLE 項目を編集できるようにサーバー アプリケーションが起動されます。 コンテナー アプリケーションがインプレース アクティブ化をサポートしている場合は、その場で編集を行うことができます。 コンテナーがインプレース アクティブ化をサポートしていない場合 (または Open 動詞が指定されている場合)、サーバーは別のウィンドウで起動され、そこで編集を行うことができます。 通常、コンテナー アプリケーションのユーザーが OLE 項目をダブルクリックすると、nVerb パラメーターの主動詞の値によって、ユーザーが実行できるアクションが決まります。 ただし、サーバーがサポートするアクションが 1 つだけの場合、nVerb パラメーターで指定されている値に関係なく、そのアクションが実行されます。

COleClientItem::D raw

この関数を呼び出して、指定したデバイス コンテキストを使用して、指定した外接する四角形に OLE 項目を描画します。

BOOL Draw(
    CDC* pDC,
    LPCRECT lpBounds,
    DVASPECT nDrawAspect = (DVASPECT)-1);

パラメーター

pDC
OLE 項目の 描画に使用する CDC オブジェクトへのポインター。

lpBounds
OLE 項目を 描画する外接する四角形を定義する CRect オブジェクトまたは RECT 構造体へのポインター (デバイス コンテキストによって決定される論理単位)。

nDrawAspect
OLE 項目の側面、つまり表示方法を指定します。 nDrawAspect が -1 の場合、SetDrawAspect を使用して最後に設定された縦横比が使用されます。 このフラグに使用できる値の詳細については、「SetDrawAspect」を参照してください

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

この関数は、OnDraw メンバー関数COleServerItemによって作成された OLE 項目のメタファイル表現を使用できます。

通常、画面表示に使用 Draw し、画面デバイス コンテキストを pDC として 渡します。 この場合は、最初の 2 つのパラメーターのみを指定する必要があります。

lpBounds パラメーターは ターゲット デバイス コンテキスト (現在のマッピング モードを基準とする) の四角形を識別します。 レンダリングには画像のスケーリングが含まれる場合があり、コンテナー アプリケーションで使用して、表示されるビューと最終的な印刷イメージの間で拡大縮小するビューを適用できます。

詳細については、Windows SDK の IViewObject::D raw を参照してください

COleClientItem::GetActiveView

アイテムがインプレースアクティブ化されているビューを返します。

CView* GetActiveView() const;

戻り値

ビューへのポインター。それ以外の場合、アイテムがインプレースアクティブ化されていない場合は NULL。

COleClientItem::GetCachedExtent

OLE 項目のサイズを取得するには、この関数を呼び出します。

BOOL GetCachedExtent(
    LPSIZE lpSize,
    DVASPECT nDrawAspect = (DVASPECT)-1);

パラメーター

lpSize
サイズ情報を SIZE 受け取る構造体または CSize オブジェクトへのポインター。

nDrawAspect
境界を取得する OLE アイテムの側面を指定します。 指定できる値については、「SetDrawAspect」を参照してください

戻り値

成功した場合は 0 以外。OLE 項目が空白の場合は 0。

解説

この関数は、GetExtent と同じ情報を提供します。 ただし、OnChange などの他の OLE ハンドラーの処理中にエクステント情報を取得するために呼び出GetCachedExtentすことができます。 寸法はMM_HIMETRIC単位で表示されます。

これは、IOleObject インターフェイスを使用してこの項目の範囲を取得するのではなく、IViewObject2 インターフェイスを使用するためGetCachedExtentです。 COM オブジェクトは IViewObject2 、IViewObject::D raw への 前回の呼び出しで使用されたエクステント情報をキャッシュします

詳細については、Windows SDK の IViewObject2::GetExtent を参照してください

COleClientItem::GetClassID

pClassID指すメモリに項目のクラス ID を返します。

void GetClassID(CLSID* pClassID) const;

パラメーター

pClassID
クラス ID を取得する CLSIDの識別子へのポインター。 CLSID の詳細については、Windows SDK を参照してください。

解説

クラス ID は、アイテムを編集するアプリケーションを一意に識別する 128 ビットの番号です。

詳細については、Windows SDK の IPersist::GetClassID を参照してください

COleClientItem::GetClipboardData

CopyToClipboard メンバー関数の呼び出しによってクリップボードに配置されるすべてのデータを含むオブジェクトを取得COleDataSourceするには、この関数を呼び出します。

void GetClipboardData(
    COleDataSource* pDataSource,
    BOOL bIncludeLink = FALSE,
    LPPOINT lpOffset = NULL,
    LPSIZE lpSize = NULL);

パラメーター

pDataSource
OLE アイテムに 含まれるデータを受け取る COleDataSource オブジェクトへのポインター。

bIncludeLink
リンク データを含める必要がある場合は TRUE。それ以外の場合は FAL Standard Edition。

lpOffset
オブジェクトの原点からのマウス カーソルのオフセット (ピクセル単位)。

lpSize
オブジェクトのサイズ (ピクセル単位)。

解説

GetClipboardData は OnGetClipboardData の既定の 実装として呼び出されます。 によって提供されるデータ形式に加えて、データ形式を提供CopyToClipboardする場合にのみオーバーライドOnGetClipboardDataします。 これらの形式をCOleDataSource呼び出す前または呼び出CopyToClipboardし後にオブジェクトに配置し、オブジェクトを COleDataSource COleDataSource::SetClipboard 関数に渡します。 たとえば、コンテナー ドキュメント内の OLE 項目の位置をクリップボードに添付する場合は、その情報を渡すための独自の形式を定義し、呼び出すCopyToClipboard前にCOleDataSource配置します。

COleClientItem::GetDocument

OLE 項目を含むドキュメントへのポインターを取得するには、この関数を呼び出します。

COleDocument* GetDocument() const;

戻り値

OLE 項目を含むドキュメントへのポインター。 アイテムがドキュメントの一部でない場合は NULL。

解説

このポインターを使用すると、コンストラクターに COleDocument 引数として渡したオブジェクトに COleClientItem アクセスできます。

COleClientItem::GetDrawAspect

メンバー関数を GetDrawAspect 呼び出して、アイテムの現在の "アスペクト" またはビューを決定します。

DVASPECT GetDrawAspect() const;

戻り値

SetDrawAspect のリファレンス に値が一覧表示されている DVASPECT 列挙体の値。

解説

アスペクトは、アイテムのレンダリング方法を指定します。

COleClientItem::GetExtent

OLE 項目のサイズを取得するには、この関数を呼び出します。

BOOL GetExtent(
    LPSIZE lpSize,
    DVASPECT nDrawAspect = (DVASPECT)- 1);

パラメーター

lpSize
サイズ情報を SIZE 受け取る構造体または CSize オブジェクトへのポインター。

nDrawAspect
境界を取得する OLE アイテムの側面を指定します。 指定できる値については、「SetDrawAspect」を参照してください

戻り値

成功した場合は 0 以外。OLE 項目が空白の場合は 0。

解説

サーバー アプリケーションが Microsoft Foundation クラス ライブラリを使用して作成された場合、この関数により、対応するCOleServerItemオブジェクトの OnGetExtent メンバー関数が呼び出されます。 取得したサイズは、SetExtent メンバー関数によって最後に設定されたサイズと異なる場合があることに注意してください。指定されたSetExtentサイズは提案として扱われます。 寸法はMM_HIMETRIC単位で表示されます。

Note

OnChange などの OLE ハンドラーの処理中は呼び出GetExtentさないでください。 代わりに GetCachedExtent を呼び出します。

詳細については、Windows SDK の IOleObject::GetExtent を参照してください

COleClientItem::GetIconFromRegistry

このメンバー関数を呼び出して、特定の CLSID のサーバーに関連付けられているアイコン リソースへのハンドルを取得します。

HICON GetIconFromRegistry() const;

static HICON GetIconFromRegistry(CLSID& clsid);

パラメーター

clsid
アイコンに関連付けられているサーバーの CLSID への参照。

戻り値

アイコン リソースの有効なハンドル。サーバーのアイコンまたは既定のアイコンが見つからない場合は NULL。

解説

このメンバー関数は、サーバーが既に実行されている場合でも、サーバーを起動したり、アイコンを動的に取得したりしません。 代わりに、このメンバー関数は、サーバーの実行可能イメージを開き、登録時にサーバーに関連付けられている静的アイコンを取得します。

COleClientItem::GetIconicMetafile

アイテムのアイコンの描画に使用するメタファイルを取得します。

HGLOBAL GetIconicMetafile();

戻り値

成功した場合のメタファイルへのハンドル。それ以外の場合は NULL。

解説

現在のアイコンがない場合は、既定のアイコンが返されます。 これは MFC/OLE ダイアログによって自動的に呼び出され、通常は直接呼び出されません。

また、この関数は SetIconicMetafile を呼び出して、後で使用するためにメタファイルをキャッシュします。

COleClientItem::GetInPlaceWindow

メンバー関数を GetInPlaceWindow 呼び出して、インプレース編集のためにアイテムが開かれたウィンドウへのポインターを取得します。

CWnd* GetInPlaceWindow();

戻り値

アイテムのインプレース編集ウィンドウへのポインター。アイテムがアクティブでない場合、またはそのサーバーが使用できない場合は NULL。

解説

この関数は、インプレースアクティブなアイテムに対してのみ呼び出す必要があります。

COleClientItem::GetItemState

OLE アイテムの現在の状態を取得するには、この関数を呼び出します。

UINT GetItemState() const;

戻り値

COleClientItem::ItemState列挙値。次のいずれかになります。emptyState,, loadedState, openState, activeState. activeUIState これらの状態の詳細については、「コンテナー: クライアント項目の 状態」を参照してください。

解説

OLE 項目の状態が変化したときに通知を受け取る場合は、OnChange メンバー関数を使用します

詳細については、「コンテナー: クライアント項目の 状態」を参照してください。

COleClientItem::GetLastStatus

最後の OLE 操作の状態コードを返します。

SCODE GetLastStatus() const;

戻り値

SCODE 値。

解説

FAL Standard Edition の BOOL 値を返すメンバー関数、または NULL を返すその他のメンバー関数の場合は、GetLastStatusより詳細なエラー情報を返します。 ほとんどの OLE メンバー関数では、より重大なエラーに対して例外がスローされます。 SCODE の解釈に関する具体的な情報は、最後に SCODE 値を返した基になる OLE 呼び出しによって異なります。

SCODE の詳細については、Windows SDK ドキュメントの COM エラー コードの構造を参照してください

COleClientItem::GetLinkUpdateOptions

OLE 項目のリンク更新オプションの現在の値を取得するには、この関数を呼び出します。

OLEUPDATE GetLinkUpdateOptions();

戻り値

次のいずれかの値:

  • OLEUPDATE_ALWAYS可能な限りリンク アイテムを更新します。 このオプションは、[リンク] ダイアログ ボックスの [リンクの自動更新] ラジオ ボタンをサポートしています。

  • OLEUPDATE_ONCALLコンテナー アプリケーションからの要求時にのみリンクアイテムを更新します (UpdateLink メンバー関数が呼び出されたとき)。 このオプションは、[リンク] ダイアログ ボックスの [リンクの手動更新] ラジオ ボタンをサポートします。

解説

これは高度な操作です。

この関数は、COleLinksDialog クラスによって自動的に呼び出されます。

詳細については、Windows SDK の IOleLink::GetUpdateOptions を参照してください

COleClientItem::GetType

この関数を呼び出して、OLE 項目が埋め込まれているかリンクされているか、静的かを判断します。

OLE_OBJTYPE GetType() const;

戻り値

次のいずれかの値を持つ符号なし整数。

  • OT_LINK OLE 項目はリンクです。

  • OT_EMB (メガバイト)EDDED OLE 項目が埋め込まれています。

  • OT_STATIC OLE アイテムは静的です。つまり、ネイティブ データではなくプレゼンテーション データのみが含まれるため、編集できません。

COleClientItem::GetUserType

この関数を呼び出して、OLE アイテムの種類を説明するユーザーに表示される文字列 ("Word 文書" など) を取得します。

void GetUserType(
    USERCLASSTYPE nUserClassType,
    CString& rString);

パラメーター

nUserClassType
OLE 項目の型を記述する文字列の目的のバリアントを示す値。 これには、次のいずれかの値を指定できます。

  • U Standard EditionRCLASSTYPE_FULL ユーザーに表示される完全な型名。

  • U Standard EditionRCLASSTYPE_SHORT ポップアップ メニューと [リンクの編集] ダイアログ ボックスで使用する短い名前 (最大 15 文字)。

  • U Standard EditionRCLASSTYPE_APPNAME クラスにサービスを提供するアプリケーションの名前。

rString
OLE 項目の 型を記述する文字列が返される CString オブジェクトへの参照。

解説

多くの場合、これはシステム登録データベースのエントリです。

完全な型名が要求されても使用できない場合は、代わりに短い名前が使用されます。 登録データベースに OLE アイテムの種類のエントリが見つからない場合、または OLE アイテムの種類に登録されているユーザー型がない場合は、現在 OLE アイテムに格納されているユーザーの種類が使用されます。 そのユーザー型名が空の文字列の場合は、"Unknown Object" が使用されます。

詳細については、Windows SDK の IOleObject::GetUserType を参照してください

COleClientItem::IsInPlaceActive

OLE アイテムがインプレース アクティブかどうかを確認するには、この関数を呼び出します。

BOOL IsInPlaceActive() const;

戻り値

OLE 項目がインプレースアクティブの場合は 0 以外。それ以外の場合は 0。

解説

アイテムがインプレースで編集されているかどうかに応じて、さまざまなロジックを実行するのが一般的です。 この関数は、現在の項目の状態が > と等しいactiveStateかどうかをチェックしますactiveUIState

COleClientItem::IsLinkUpToDate

OLE 項目が最新かどうかを確認するには、この関数を呼び出します。

BOOL IsLinkUpToDate() const;

戻り値

OLE 項目が最新の場合は 0 以外。それ以外の場合は 0。

解説

リンクされたアイテムは、ソース ドキュメントが更新された場合、古い状態になる可能性があります。 その中にリンクを含む埋め込みアイテムも、同様に古くなる可能性があります。 この関数は、OLE 項目の再帰的なチェックを実行します。 OLE アイテムが最新でないかどうかを判断すると、実際に更新を実行する場合と同じくらいコストがかかる場合があることに注意してください。

これは、COleLinksDialog 実装によって自動的に呼び出されます。

詳細については、Windows SDK の IOleObject::IsUpToDate を参照してください

COleClientItem::IsModified

OLE アイテムがダーティされているかどうかを確認するには、この関数を呼び出します (最後に保存されてから変更されます)。

BOOL IsModified() const;

戻り値

OLE 項目がダーティの場合は 0 以外、それ以外の場合は 0。

解説

詳細については、Windows SDK の IPersistStorage::IsDirty を参照してください

COleClientItem::IsOpen

OLE アイテムが開いているかどうかを確認するには、この関数を呼び出します。つまり、別のウィンドウで実行されているサーバー アプリケーションのインスタンスで開きます。

BOOL IsOpen() const;

戻り値

OLE 項目が開いている場合は 0 以外。それ以外の場合は 0。

解説

これは、ハッチング パターンを使用してオブジェクトを描画するタイミングを決定するために使用されます。 開いているオブジェクトには、オブジェクトの上にハッチング パターンが描画されている必要があります。 これを行うには、 CRectTracker オブジェクトを使用できます。

COleClientItem::IsRunning

OLE 項目が実行されているかどうかを確認するには、この関数を呼び出します。つまり、項目が読み込まれ、サーバー アプリケーションで実行されているかどうか。

BOOL IsRunning() const;

戻り値

OLE 項目が実行されている場合は 0 以外。それ以外の場合は 0。

解説

詳細については、「Windows SDK での OleIsRunning」を参照してください

COleClientItem::OnActivate

項目がアクティブになったばかりであることを通知するためにフレームワークによって呼び出されます。

virtual void OnActivate();

解説

この関数は、ユーザー インターフェイスがコンテナー アプリケーションにインストールされていることを示すのではなく、サーバーが実行されていることを示すために呼び出されることに注意してください。 この時点で、オブジェクトにはアクティブなユーザー インターフェイスがありません (存在しません activeUIState)。 メニューまたはツール バーがインストールされていません。 OnActivateUI メンバー関数は、その場合に呼び出されます。

既定の実装では、 OLE_CHANGEDSTATEをパラメーターとして使用して OnChange メンバー関数を呼び出します。 アイテムがインプレースアクティブになったときにカスタム処理を実行するには、この関数をオーバーライドします。

COleClientItem::OnActivateUI

フレームワークは、オブジェクトがアクティブな UI 状態になったときに呼び出 OnActivateUI します。

virtual void OnActivateUI();

解説

これで、オブジェクトのツール バーとメニューがインストールされました。

既定の実装では、後 GetServerWindow で呼び出すサーバーの HWND が記憶されます。

COleClientItem::OnChange

ユーザーが OLE 項目を変更、保存、または閉じるときに、フレームワークによって呼び出されます。

virtual void OnChange(
    OLE_NOTIFICATION nCode,
    DWORD dwParam);

パラメーター

nCode
サーバーがこの項目を変更した理由。 次のいずれかの値を指定できます。

  • OLE_CHANGED OLE アイテムの外観が変更されました。

  • OLE_SAVED OLE 項目が保存されました。

  • OLE_CLOStandard Edition D OLE アイテムが閉じられました。

  • OLE_CHANGED_STATE OLE 項目の状態が変更されました。

dwParam
nCode が OLE_SAVED または OLE_CLOStandard Edition D の場合、このパラメーターは使用されません。 nCode がOLE_CHANGED場合、このパラメーターは変更された OLE 項目の側面を指定します。 指定できる値については、COleClientItem::D raw の dwParam パラメーターを参照してくださいnCode がOLE_CHANGED_STATE場合、このパラメーターはCOleClientItem::ItemState列挙値であり、入力される状態を記述します。 次のいずれかの値を持つことができます。 emptyStateloadedStateopenStateactiveStateactiveUIState

解説

(サーバー アプリケーションが Microsoft Foundation クラス ライブラリを使用して記述されている場合、この関数はメンバー関数または COleServerItem.) のメンバー関数COleServerDocに応答してNotify呼び出されます。既定の実装では、nCode がOLE_CHANGEDまたはOLE_SAVEDされている場合、コンテナー ドキュメントが変更済みとしてマークされます。

OLE_CHANGED_STATEの場合、GetItemState から返された現在の状態は引き続き古い状態になります。つまり、この状態が変更される前の現在の状態です。

OLE アイテムの状態の変更に応答するには、この関数をオーバーライドします。 通常、アイテムの表示領域を無効にして、アイテムの外観を更新します。 オーバーライドの開始時に基底クラスの実装を呼び出します。

COleClientItem::OnChangeItemPosition

インプレース アクティブ化中に OLE 項目のエクステントが変更されたことをコンテナーに通知するために、フレームワークによって呼び出されます。

virtual BOOL OnChangeItemPosition(const CRect& rectPos);

パラメーター

rectPos
コンテナー アプリケーションのクライアント領域に対する項目の相対位置を示します。

戻り値

項目の位置が正常に変更された場合は 0 以外。それ以外の場合は 0。

解説

既定の実装では、OLE 項目の新しい表示される四角形が決定され、新しい値で SetItemRects が呼び出されます。 既定の実装では、項目の表示される四角形が計算され、その情報がサーバーに渡されます。

この関数をオーバーライドして、サイズ変更/移動操作に特別なルールを適用します。 アプリケーションが MFC で記述されている場合、COleServerDoc::RequestPositionChange というサーバーが原因 でこの呼び出しが行われます

COleClientItem::OnDeactivate

OLE 項目がインプレースアクティブ状態 ( activeState) から読み込まれた状態に遷移するときにフレームワークによって呼び出されます。つまり、インプレースアクティブ化後に非アクティブ化されます。

virtual void OnDeactivate();

解説

この関数は、OLE 項目が閉じられていることを示すために呼び出されることに注意してください。ユーザー インターフェイスがコンテナー アプリケーションから削除されているわけではありません。 その場合、 OnDeactivateUI メンバー関数が呼び出されます。

既定の実装では、 OLE_CHANGEDSTATEをパラメーターとして使用して OnChange メンバー関数を呼び出します。 この関数をオーバーライドして、インプレースアクティブアイテムが非アクティブになったときにカスタム処理を実行します。 たとえば、コンテナー アプリケーションで元に戻すコマンドをサポートしている場合は、この関数をオーバーライドして元に戻す状態を解除カード、OLE アイテムに対して最後に実行した操作を、アイテムが非アクティブ化された後に元に戻すことができないことを示します。

COleClientItem::OnDeactivateAndUndo

ユーザーが OLE 項目をアクティブ化した後で元に戻すコマンドを呼び出すと、フレームワークによって呼び出されます。

virtual void OnDeactivateAndUndo();

解説

既定の実装では、DeactivateUI を呼び出してサーバーのユーザー インターフェイスを非アクティブ化します。 コンテナー アプリケーションで undo コマンドを実装する場合は、この関数をオーバーライドします。 オーバーライドで、関数の基底クラス バージョンを呼び出し、アプリケーションで実行された最後のコマンドを元に戻します。

詳細については、Windows SDK の IOleInPlaceSite::D eactivateAndUndo を参照してください。

COleClientItem::OnDeactivateUI

ユーザーがインプレースでアクティブ化されたアイテムを非アクティブ化するときに呼び出されます。

virtual void OnDeactivateUI(BOOL bUndoable);

パラメーター

bUndoable
編集の変更を元に戻すことができるかどうかを指定します。

解説

この関数は、コンテナー アプリケーションのユーザー インターフェイスを元の状態に戻し、インプレース アクティブ化のために作成されたメニューやその他のコントロールを非表示にします。

bUndoable が FAL Standard Edition の場合、コンテナーは元に戻すコマンドを無効にする必要があります。これは、サーバーによって実行された最後の操作が元に戻されないことを示しているため、実質的にコンテナーの元に戻す状態をカード解除します。

COleClientItem::OnDisカードUndoState

ユーザーが OLE アイテムの編集中に元に戻す状態を解除する操作を実行するとカードフレームワークによって呼び出されます。

virtual void OnDiscardUndoState();

解説

既定の実装では、何も行われません。 コンテナー アプリケーションで undo コマンドを実装する場合は、この関数をオーバーライドします。 オーバーライドで、コンテナー アプリケーションの元に戻す状態をカードします。

サーバーが Microsoft Foundation クラス ライブラリを使用して書き込まれた場合、サーバーは COleServerDoc::D isカードUndoState を呼び出すことによって、この関数を呼び出すことができます。

詳細については、Windows SDK の IOleInPlaceSite::D isカードUndoState を参照してください。

COleClientItem::OnGetClipboardData

CopyToClipboard または DoDragDrop メンバー関数の呼び出しによってクリップボードに配置されるすべてのデータを含むオブジェクトを取得COleDataSourceするためにフレームワークによって呼び出されます。

virtual COleDataSource* OnGetClipboardData(
    BOOL bIncludeLink,
    LPPOINT lpOffset,
    LPSIZE lpSize);

パラメーター

bIncludeLink
リンク データをクリップボードにコピーする必要がある場合は、これを TRUE に設定します。 サーバー アプリケーションがリンクをサポートしていない場合はStandard Editionこれを FAL に設定します。

lpOffset
オブジェクトの原点からのマウス カーソルのオフセットへのポインター (ピクセル単位)。

lpSize
オブジェクトのサイズをピクセル単位で指すポインター。

戻り値

クリップボード データを 含む COleDataSource オブジェクトへのポインター。

解説

この関数の既定の実装では、GetClipboardData が呼び出 されます

COleClientItem::OnGetClipRect

フレームワークは、メンバー関数を OnGetClipRect 呼び出して、編集中の項目のクリッピング四角形座標を取得します。

virtual void OnGetClipRect(CRect& rClipRect);

パラメーター

rClipRect
項目のクリッピング四角形座標を保持する CRect クラスのオブジェクトへのポインター。

解説

座標は、コンテナー アプリケーション ウィンドウのクライアント領域を基準としたピクセル単位です。

既定の実装では、項目がインプレース アクティブなビューのクライアント四角形を返すだけです。

COleClientItem::OnGetItemPosition

フレームワークは、メンバー関数を OnGetItemPosition 呼び出して、編集中の項目の座標を取得します。

virtual void OnGetItemPosition(CRect& rPosition);

パラメーター

rPosition
項目の位置座標を 格納する CRect オブジェクトへの参照。

解説

座標は、コンテナー アプリケーション ウィンドウのクライアント領域を基準としたピクセル単位です。

この関数の既定の実装は、何も行いません。 インプレース編集をサポートするアプリケーションには、その実装が必要です。

COleClientItem::OnGetWindowContext

項目が所定の位置でアクティブ化されたときにフレームワークによって呼び出されます。

virtual BOOL OnGetWindowContext(
    CFrameWnd** ppMainFrame,
    CFrameWnd** ppDocFrame,
    LPOLEINPLACEFRAMEINFO lpFrameInfo);

パラメーター

ppMainFrame
メイン フレーム ウィンドウへのポインターへのポインター。

ppDocFrame
ドキュメント フレーム ウィンドウへのポインターへのポインター。

lpFrameInfo
フレーム ウィンドウ情報を 受け取る OLEINPLACEFRAMEINFO 構造体へのポインター。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

この関数は、OLE アイテムの親ウィンドウに関する情報を取得するために使用されます。

コンテナーが MDI アプリケーションの場合、既定の実装では、ppMainFrame の CMDIFrameWnd オブジェクトへのポインターと、ppDocFrame 内のアクティブな CMDIChildWnd オブジェクトへのポインターが返されます。 コンテナーが SDI アプリケーションの場合、既定の実装は ppMainFrame の CFrameWnd オブジェクトへのポインターを返し、ppDocFrameNULL を返します。 既定の実装では、lpFrameInfoメンバーも入力されます。

既定の実装がアプリケーションに合わない場合にのみ、この関数をオーバーライドします。たとえば、アプリケーションに SDI または MDI とは異なるユーザー インターフェイス パラダイムがある場合などです。 これは、高度なオーバーライドが可能です。

詳細については、「 IOleInPlaceSite::GetWindowContext 」および Windows SDK の OLEINPLACEFRAMEINFO 構造体を参照してください。

COleClientItem::OnInsertMenus

コンテナー アプリケーションのメニューを空のメニューに挿入するために、インプレース アクティブ化中にフレームワークによって呼び出されます。

virtual void OnInsertMenus(
    CMenu* pMenuShared,
    LPOLEMENUGROUPWIDTHS lpMenuWidths);

パラメーター

pMenuShared
空のメニューをポイントします。

lpMenuWidths
[ファイル]、[編集]、[コンテナー]、[オブジェクト]、[ウィンドウ]、[ヘルプ] の各メニュー グループに含まれるメニューの数を示す 6 つの LONG 値の配列をポイントします。 コンテナー アプリケーションは、この配列の要素 0、2、および 4 に対応する [ファイル]、[コンテナー]、および [ウィンドウ] メニュー グループを担当します。

解説

その後、このメニューがサーバーに渡され、独自のメニューが挿入され、複合メニューが作成されます。 この関数を繰り返し呼び出して、複数の複合メニューを作成できます。

既定の実装では、インプレース コンテナー メニュー (ファイル、コンテナー、ウィンドウ) メニュー グループを pMenuShared挿入します。 CDocTemplate::SetContainerInfo を使用して、このメニュー リソースを設定します。 既定の実装では、メニュー リソースに応じて、lpMenuWidths要素 0、2、4 にも適切な値が割り当てられます。 既定の実装がアプリケーションに適していない場合は、この関数をオーバーライドします。たとえば、アプリケーションでリソースをドキュメントの種類に関連付けするためのドキュメント テンプレートを使用しない場合などです。 この関数をオーバーライドする場合は、OnSetMenuOnRemoveMenus もオーバーライドする必要があります。 これは、高度なオーバーライドが可能です。

詳細については、Windows SDK の IOleInPlaceFrame::InsertMenus を参照してください

COleClientItem::OnRemoveMenus

インプレース アクティブ化が終了したときに、指定した複合メニューからコンテナーのメニューを削除するためにフレームワークによって呼び出されます。

virtual void OnRemoveMenus(CMenu* pMenuShared);

パラメーター

pMenuShared
OnInsertMenus メンバー関数の呼び出しによって構築された複合メニューをポイントします。

解説

既定の実装では、pMenuShared からインプレース コンテナー メニュー 、つまり[ファイル]、[コンテナー]、[ウィンドウ] メニュー グループが削除されます。 既定の実装がアプリケーションに適していない場合は、この関数をオーバーライドします。たとえば、アプリケーションでリソースをドキュメントの種類に関連付けするためのドキュメント テンプレートを使用しない場合などです。 この関数をオーバーライドする場合は、OnInsertMenusOnSetMenu もオーバーライドする必要があります。 これは、高度なオーバーライドが可能です。

サーバーが繰り返し呼び出OnInsertMenusされた場合、pMenuShared のサブメニューは複数の複合メニューで共有できます。 したがって、オーバーライド OnRemoveMenus内のサブメニューは削除しないでください。デタッチする必要があります。

詳細については、Windows SDK の IOleInPlaceFrame::RemoveMenus を参照してください

COleClientItem::OnScrollBy

サーバーからの要求に応答して OLE 項目をスクロールするためにフレームワークによって呼び出されます。

virtual BOOL OnScrollBy(CSize sizeExtent);

パラメーター

sizeExtent
x 方向と y 方向にスクロールする距離をピクセル単位で指定します。

戻り値

項目がスクロールされた場合は 0 以外。項目をスクロールできなかった場合は 0。

解説

たとえば、OLE 項目が部分的に表示されていて、ユーザーがインプレース編集を実行しているときに表示領域の外側に移動した場合、カーソルを表示したままにするためにこの関数が呼び出されます。 既定の実装では、何も行われません。 指定した量で項目をスクロールするには、この関数をオーバーライドします。 スクロールの結果、OLE 項目の表示部分が変更される可能性があることに注意してください。 SetItemRects を呼び出して、項目の表示されている四角形を更新します。

詳細については、「Windows SDK の IOleInPlaceSite::Scroll」を参照してください

COleClientItem::OnSetMenu

インプレース アクティブ化が開始および終了すると、フレームワークによって 2 回呼び出されます。複合メニューを初めてインストールし、2 回目 ( holemenu を NULL に等しい場合) に削除します。

virtual void OnSetMenu(
    CMenu* pMenuShared,
    HOLEMENU holemenu,
    HWND hwndActiveObject);

パラメーター

pMenuShared
OnInsertMenus メンバー関数とInsertMenu関数の呼び出しによって構築された複合メニューへのポインター。

holemenu
関数によって OleCreateMenuDescriptor 返されるメニュー記述子へのハンドル。ディスパッチ コードを削除する場合は NULL。

hwndActiveObject
OLE アイテムの編集ウィンドウを処理します。 OLE から編集コマンドを受け取るウィンドウです。

解説

既定の実装では、複合メニューをインストールまたは削除し、OleSetMenuDescriptor 関数を呼び出してディスパッチ コードをインストールまたは削除します。 既定の実装がアプリケーションに適していない場合は、この関数をオーバーライドします。 この関数をオーバーライドする場合は、OnInsertMenusOnRemoveMenus もオーバーライドする必要があります。 これは、高度なオーバーライドが可能です。

詳細については、 Windows SDK の OleCreateMenuDescriptorOleSetMenuDescriptor、IOleInPlaceFrame ::SetMenu を参照してください。

COleClientItem::OnShowControlBars

コンテナー アプリケーションのコントロール バーを表示および非表示にするためにフレームワークによって呼び出されます。

virtual BOOL OnShowControlBars(
    CFrameWnd* pFrameWnd,
    BOOL bShow);

パラメーター

pFrameWnd
コンテナー アプリケーションのフレーム ウィンドウへのポインター。 メイン フレーム ウィンドウまたは MDI 子ウィンドウを指定できます。

bShow
コントロール バーを表示するか非表示にするかを指定します。

戻り値

関数呼び出しによってコントロール バーの状態が変更された場合は 0 以外。呼び出しによって変更が発生しない場合、または pFrameWnd がコンテナーのフレーム ウィンドウを指していない場合は 0。

解説

コントロール バーが既に bShow で指定された状態にある場合、この関数は 0 を返します。これは、たとえば、コントロール バーが非表示で、bShow が FAL Standard Edition 場合に発生します。

既定の実装では、最上位レベルのフレーム ウィンドウからツール バーが削除されます。

COleClientItem::OnShowItem

OLE 項目を表示するためにフレームワークによって呼び出され、編集中に完全に表示されます。

virtual void OnShowItem();

解説

これは、コンテナー アプリケーションが埋め込みアイテムへのリンクをサポートする場合に使用されます (つまり、COleLinkingDoc からドキュメント クラスを派生させた場合)。 この関数は、インプレース アクティブ化中、または OLE 項目がリンク ソースであり、ユーザーが編集する場合に呼び出されます。 既定の実装では、コンテナー ドキュメントの最初のビューがアクティブになります。 OLE 項目が表示されるように文書をスクロールするには、この関数をオーバーライドします。

COleClientItem::OnUpdateFrameTitle

フレーム ウィンドウのタイトル バーを更新するために、インプレース アクティブ化中にフレームワークによって呼び出されます。

virtual BOOL OnUpdateFrameTitle();

戻り値

この関数がフレーム タイトルを正常に更新した場合は 0 以外、それ以外の場合は 0。

解説

既定の実装では、フレーム ウィンドウのタイトルは変更されません。 アプリケーションに別のフレーム タイトルが必要な場合は、この関数をオーバーライドします (たとえば、"docname 内のサーバー アプリ - 項目" ("Microsoft Excel - REPORT.DOC のスプレッドシート" など)。 これは、高度なオーバーライドが可能です。

COleClientItem::ReactivateAndUndo

OLE アイテムを再アクティブ化し、インプレース編集中にユーザーが最後に実行した操作を元に戻すには、この関数を呼び出します。

BOOL ReactivateAndUndo();

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

コンテナー アプリケーションで元に戻すコマンドがサポートされている場合は、OLE 項目を非アクティブ化した直後にユーザーが元に戻すコマンドを選択した場合に、この関数を呼び出します。

サーバー アプリケーションが Microsoft Foundation クラス ライブラリで記述されている場合、この関数により、サーバーは COleServerDoc::OnReactivateAndUndo を呼び出します。

詳細については、Windows SDK の IOleInPlaceObject::ReactivateAndUndo を参照してください

COleClientItem::Release

OLE 項目で使用されるリソースをクリーンするには、この関数を呼び出します。

virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);

パラメーター

dwCloseOption
読み込まれた状態に戻ったときに OLE 項目を保存する状況を指定するフラグ。 指定できる値の一覧については、「COleClientItem::Close」を参照してください

解説

Release はデストラクターによって呼び出されます COleClientItem

詳細については、Windows SDK の IUnknown::Release を参照してください

COleClientItem::Reload

アイテムを閉じて再読み込みします。

BOOL Reload();

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

ActivateAs の Reload 呼び出しによって、項目を別の種類の項目としてアクティブ化した後に関数を 呼び出します

COleClientItem::Run

この項目に関連付けられているアプリケーションを実行します。

void Run();

解説

項目を Run アクティブ化する前に、メンバー関数を呼び出してサーバー アプリケーションを起動します。 これは ActivateDoVerb によって自動的に行われるので、通常、この関数を呼び出す必要はありません。 DoVerb を実行する前に、SetExtent などの項目属性を設定するためにサーバーを実行する必要がある場合は、この関数を呼び出します。

COleClientItem::SetDrawAspect

メンバー関数を SetDrawAspect 呼び出して、項目の "aspect" または view を設定します。

virtual void SetDrawAspect(DVASPECT nDrawAspect);

パラメーター

nDrawAspect
DVASPECT 列挙型の値。 このパラメーターには、次のいずれかの値を指定できます。

  • DVASPECT_CONTENT項目は、コンテナー内の埋め込みオブジェクトとして表示できるように表されます。

  • DVASPECT_THUMB (メガバイト)NAIL 項目は、閲覧ツールに表示できるように、"サムネイル" 表現でレンダリングされます。

  • DVASPECT_ICON項目はアイコンで表されます。

  • DVASPECT_DOCPRINT項目は、[ファイル] メニューの [印刷] コマンドを使用して印刷されたかのように表されます。

解説

この側面は、その関数の nDrawAspect 引数の既定値が使用されるときに、Draw によってアイテムをレンダリングする方法を指定します。

この関数は、変更アイコン (およびアイコンの変更ダイアログを直接呼び出すその他のダイアログ) によって自動的に呼び出され、ユーザーから要求されたときにアイコン表示の側面を有効にします。

COleClientItem::SetExtent

OLE アイテムで使用できる領域の量を指定するには、この関数を呼び出します。

void SetExtent(
    const CSize& size,
    DVASPECT nDrawAspect = DVASPECT_CONTENT);

パラメーター

size
サイズ情報を格納している CSize オブジェクト。

nDrawAspect
境界を設定する OLE 項目の側面を指定します。 指定できる値については、「SetDrawAspect」を参照してください

解説

サーバー アプリケーションが Microsoft Foundation クラス ライブラリを使用して作成された場合、これにより、対応するCOleServerItemオブジェクトの OnSetExtent メンバー関数が呼び出されます。 OLE 項目は、それに応じて表示を調整できます。 寸法はMM_HIMETRIC単位にする必要があります。 ユーザーが OLE 項目のサイズを変更するとき、または何らかの形式のレイアウト ネゴシエーションをサポートしている場合は、この関数を呼び出します。

詳細については、Windows SDK の IOleObject::SetExtent を参照してください

COleClientItem::SetHostNames

この関数を呼び出して、コンテナー アプリケーションの名前と、埋め込み OLE 項目のコンテナーの名前を指定します。

void SetHostNames(
    LPCTSTR lpszHost,
    LPCTSTR lpszHostObj);

パラメーター

lpszHost
コンテナー アプリケーションのユーザーに表示される名前へのポインター。

lpszHostObj
OLE 項目を含むコンテナーの識別文字列へのポインター。

解説

サーバー アプリケーションが Microsoft Foundation クラス ライブラリを使用して作成された場合、この関数は OLE 項目を含むドキュメントの COleServerDoc OnSetHostNames メンバー関数を呼び出します。 この情報は、OLE アイテムの編集中にウィンドウ タイトルで使用されます。 コンテナー ドキュメントが読み込まれるたびに、フレームワークはドキュメント内のすべての OLE アイテムに対してこの関数を呼び出します。 SetHostNames は埋め込み項目にのみ適用されます。 埋め込み OLE 項目を編集用にアクティブ化するたびに、この関数を呼び出す必要はありません。

これは、オブジェクトが読み込まれるとき、またはファイルが別の名前で保存されるときに、アプリケーション名とドキュメント名を使用して自動的に呼び出されます。 したがって、通常、この関数を直接呼び出す必要はありません。

詳細については、Windows SDK の IOleObject::SetHostNames を参照してください

COleClientItem::SetIconicMetafile

アイテムのアイコンの描画に使用するメタファイルをキャッシュします。

BOOL SetIconicMetafile(HGLOBAL hMetaPict);

パラメーター

hMetaPict
アイテムのアイコンの描画に使用されるメタファイルのハンドル。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

GetIconicMetafile を使用してメタファイルを取得します。

hMetaPict パラメーターはアイテムにコピーされるため、呼び出し元が hMetaPict を解放する必要があります。

COleClientItem::SetItemRects

OLE 項目の外接する四角形または表示されている四角形を設定するには、この関数を呼び出します。

BOOL SetItemRects(
    LPCRECT lpPosRect = NULL,
    LPCRECT lpClipRect = NULL);

パラメーター

lprcPosRect
クライアント座標での、親ウィンドウを基準とした OLE 項目の境界を含む四角形へのポインター。

lprcClipRect
OLE アイテムの親ウィンドウを基準とした、表示されている部分の境界を含む四角形へのポインター (クライアント座標)。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

この関数は、OnChangeItemPosition メンバー関数の既定の実装によって呼び出されます。 OLE 項目の位置または表示部分が変更されるたびに、この関数を呼び出す必要があります。 通常、これはビューの OnSize および OnScrollBy メンバー関数から呼び出されることを意味します。

詳細については、Windows SDK の IOleInPlaceObject::SetObjectRects を参照してください

COleClientItem::SetLinkUpdateOptions

この関数を呼び出して、指定したリンク アイテムの表示にリンク更新オプションを設定します。

void SetLinkUpdateOptions(OLEUPDATE dwUpdateOpt);

パラメーター

dwUpdateOpt
この項目のリンク更新オプションの値。 この値は、次のいずれかである必要があります。

  • OLEUPDATE_ALWAYS可能な限りリンク アイテムを更新します。 このオプションは、[リンク] ダイアログ ボックスの [リンクの自動更新] ラジオ ボタンをサポートしています。

  • OLEUPDATE_ONCALLコンテナー アプリケーションからの要求時にのみリンクアイテムを更新します (UpdateLink メンバー関数が呼び出されたとき)。 このオプションは、[リンク] ダイアログ ボックスの [リンクの手動更新] ラジオ ボタンをサポートします。

解説

通常、[リンク] ダイアログ ボックスでユーザーが選択した更新オプションを変更しないでください。

詳細については、Windows SDK の IOleLink::SetUpdateOptions を参照してください

COleClientItem::SetPrintDevice

この項目の印刷ターゲット デバイスを変更するには、この関数を呼び出します。

BOOL SetPrintDevice(const DVTARGETDEVICE* ptd);
BOOL SetPrintDevice(const PRINTDLG* ppd);

パラメーター

ptd
新しい印刷ターゲット デバイスに関する情報を含む DVTARGETDEVICE データ構造へのポインター。 NULL にすることができます。

Ppd
新しい印刷ターゲット デバイスに関する情報を含む PRINTDLG データ構造へのポインター。 NULL にすることができます。

戻り値

関数が成功した場合は 0 以外。それ以外の場合は 0。

解説

この関数は、アイテムの印刷先デバイスを更新しますが、プレゼンテーション キャッシュは更新しません。 アイテムのプレゼンテーション キャッシュを更新するには、UpdateLink を呼び出 します

この関数の引数には、OLE システムがターゲット デバイスを識別するために使用する情報が含まれています。 この PRINTDLG 構造体には、Windows が一般的な [印刷] ダイアログ ボックスを初期化するために使用する情報が含まれています。 ユーザーがダイアログ ボックスを閉じると、Windows はこの構造体でのユーザーの選択に関する情報を返します。 m_pd CPrintDialog オブジェクトのメンバーは構造体ですPRINTDLG

この構造の詳細については、Windows SDK の PRINTDLG を参照してください

詳細については、Windows SDK の DVTARGETDEVICE を参照してください

OLE アイテムのプレゼンテーション データをすぐに更新するには、この関数を呼び出します。

BOOL UpdateLink();

戻り値

正常に完了した場合はゼロ以外、それ以外の場合は 0 です。

解説

リンクされたアイテムの場合、関数はリンク ソースを検索して、OLE アイテムの新しいプレゼンテーションを取得します。 このプロセスには、1 つ以上のサーバー アプリケーションの実行が含まれる場合があり、これには時間がかかる可能性があります。 埋め込み項目の場合、関数は再帰的に動作し、埋め込みアイテムに古くなっている可能性があるリンクが含まれているかどうかをチェックし、更新します。 ユーザーは、[リンク] ダイアログ ボックスを使用して個々のリンクを手動で更新することもできます。

詳細については、Windows SDK の IOleLink::Update に関する記事を参照してください

関連項目

MFC サンプル MFCBIND
MFC サンプル OCLIENT
CDocItem クラス
階層図
COleServerItem クラス