Sdílet prostřednictvím


COleClientItem – třída

Definuje rozhraní kontejneru pro položky OLE.

Syntaxe

class COleClientItem : public CDocItem

Členové

Veřejné konstruktory

Název Popis
COleClientItem::COleClientItem COleClientItem Vytvoří objekt.

Veřejné metody

Název Popis
COleClientItem::Activate Otevře položku OLE pro operaci a potom spustí zadanou operaci.
COleClientItem::ActivateAs Aktivuje položku jako jiný typ.
COleClientItem::AttachDataObject Přistupuje k datům v objektu OLE.
COleClientItem::CanCreateFromData Určuje, zda může aplikace kontejneru vytvořit vložený objekt.
COleClientItem::CanCreateLinkFromData Určuje, zda může aplikace kontejneru vytvořit propojený objekt.
COleClientItem::CanPaste Určuje, zda schránka obsahuje vloženou nebo statickou položku OLE.
COleClientItem::CanPasteLink Určuje, zda schránka obsahuje propojitelnou položku OLE.
COleClientItem::Close Zavře propojení se serverem, ale nezničí položku OLE.
COleClientItem::ConvertTo Převede položku na jiný typ.
COleClientItem::CopyToClipboard Zkopíruje položku OLE do schránky.
COleClientItem::CreateCloneFrom Vytvoří duplikát existující položky.
COleClientItem::CreateFromClipboard Vytvoří vloženou položku ze schránky.
COleClientItem::CreateFromData Vytvoří vloženou položku z datového objektu.
COleClientItem::CreateFromFile Vytvoří vloženou položku ze souboru.
COleClientItem::CreateLinkFromClipboard Vytvoří propojenou položku ze schránky.
COleClientItem::CreateLinkFromData Vytvoří propojenou položku z datového objektu.
COleClientItem::CreateLinkFromFile Vytvoří propojenou položku ze souboru.
COleClientItem::CreateNewItem Vytvoří novou vloženou položku spuštěním serverové aplikace.
COleClientItem::CreateStaticFromClipboard Vytvoří statickou položku ze schránky.
COleClientItem::CreateStaticFromData Vytvoří statickou položku z datového objektu.
COleClientItem::D eactivate Deaktivuje položku.
COleClientItem::D eactivateUI Obnoví uživatelské rozhraní aplikace kontejneru do původního stavu.
COleClientItem::D elete Odstraní nebo zavře položku OLE, pokud se jednalo o propojenou položku.
COleClientItem::D oDragDrop Provede operaci přetažení.
COleClientItem::D oVerb Spustí zadaný příkaz.
COleClientItem::D raw Nakreslí položku OLE.
COleClientItem::GetActiveView Získá zobrazení, na kterém je položka aktivována na místě.
COleClientItem::GetCachedExtent Vrátí hranice obdélníku položky OLE.
COleClientItem::GetClassID Získá ID třídy prezentující položky.
COleClientItem::GetClipboardData Získá data, která by byla umístěna do schránky voláním CopyToClipboard členské funkce.
COleClientItem::GetDocument COleDocument Vrátí objekt, který obsahuje aktuální položku.
COleClientItem::GetDrawAspect Získá aktuální zobrazení položky pro vykreslení.
COleClientItem::GetExtent Vrátí hranice obdélníku položky OLE.
COleClientItem::GetIconFromRegistry Načte popisovač na ikonu přidruženou k serveru konkrétního IDENTIFIKÁTORu CLSID.
COleClientItem::GetIconicMetafile Získá metasoubor použitý pro kreslení ikony položky.
COleClientItem::GetInPlaceWindow Vrátí ukazatel na místní okno pro úpravy položky.
COleClientItem::GetItemState Získá aktuální stav položky.
COleClientItem::GetLastStatus Vrátí stav poslední operace OLE.
COleClientItem::GetLinkUpdateOptions Vrátí režim aktualizace propojené položky (pokročilá funkce).
COleClientItem::GetType Vrátí typ (vložený, propojený nebo statický) položky OLE.
COleClientItem::GetUserType Získá řetězec popisující typ položky.
COleClientItem::IsInPlaceActive Vrátí hodnotu PRAVDA, pokud je položka aktivní.
COleClientItem::IsLinkUpToDate Vrátí hodnotu TRUE, pokud je propojená položka aktuální se zdrojovým dokumentem.
COleClientItem::IsModified Vrátí hodnotu TRUE, pokud byla položka od posledního uložení změněna.
COleClientItem::IsOpen Vrátí hodnotu TRUE, pokud je položka aktuálně otevřená v serverové aplikaci.
COleClientItem::IsRunning Vrátí hodnotu TRUE, pokud je serverová aplikace položky spuštěná.
COleClientItem::OnActivate Volá se rozhraním k oznámení položky, že je aktivována.
COleClientItem::OnActivateUI Volal rozhraní, aby informovala položku, že je aktivována a měla by zobrazit své uživatelské rozhraní.
COleClientItem::OnChange Volá se, když server změní položku OLE. Vyžaduje se implementace.
COleClientItem::OnDeactivate Volá se rozhraním při deaktivaci položky.
COleClientItem::OnDeactivateUI Volá se rozhraním, když server odebral své místní uživatelské rozhraní.
COleClientItem::OnGetClipboardData Volané architekturou pro získání dat, která se mají zkopírovat do schránky.
COleClientItem::OnInsertMenus Zavolá se rozhraním pro vytvoření složené nabídky.
COleClientItem::OnRemoveMenus Volal rozhraní pro odebrání nabídek kontejneru ze složené nabídky.
COleClientItem::OnSetMenu Volá se rozhraním pro instalaci a odebrání složené nabídky.
COleClientItem::OnShowControlBars Volal rozhraní pro zobrazení a skrytí ovládacích pruhů.
COleClientItem::OnUpdateFrameTitle Volá se rozhraním pro aktualizaci záhlaví okna rámečku.
COleClientItem::ReactivateAndUndo Znovu aktivuje položku a vrátí zpět poslední místní operaci úprav.
COleClientItem::Release Uvolní připojení k propojené položce OLE a zavře ji, pokud byla otevřená. Nezničí položku klienta.
COleClientItem::Reload Znovu načte položku po volání ActivateAs.
COleClientItem::Run Spustí aplikaci přidruženou k položce.
COleClientItem::SetDrawAspect Nastaví aktuální zobrazení položky pro vykreslování.
COleClientItem::SetExtent Nastaví ohraničující obdélník položky OLE.
COleClientItem::SetHostNames Nastaví názvy, které server zobrazí při úpravě položky OLE.
COleClientItem::SetIconicMetafile Ukládá metasoubor použitý k vykreslení ikony položky.
COleClientItem::SetItemRects Nastaví ohraničující obdélník položky.
COleClientItem::SetLinkUpdateOptions Nastaví režim aktualizace propojené položky (pokročilá funkce).
COleClientItem::SetPrintDevice Nastaví cílové zařízení pro tisk pro tuto položku klienta.
COleClientItem::UpdateLink Aktualizuje mezipaměť prezentace položky.

Chráněné metody

Název Popis
COleClientItem::CanActivate Volal ho architektura, aby bylo možné určit, jestli je povolená místní aktivace.
COleClientItem::OnChangeItemPosition Volá se rozhraním, když se změní pozice položky.
COleClientItem::OnDeactivateAndUndo Volá se rozhraním pro vrácení zpět po aktivaci.
COleClientItem::OnDiscardUndoState Volá se rozhraním, aby zahodil informace o stavu vrácení položky zpět.
COleClientItem::OnGetClipRect Volá se rozhraním pro získání souřadnic obdélníku výřezu položky.
COleClientItem::OnGetItemPosition Zavolá se rozhraním pro získání pozice položky vzhledem k zobrazení.
COleClientItem::OnGetWindowContext Volá se rozhraním při aktivaci položky.
COleClientItem::OnScrollBy Volá se rozhraním pro posouvání položky do zobrazení.
COleClientItem::OnShowItem Volá se rozhraním pro zobrazení položky OLE.

Poznámky

Položka OLE představuje data vytvořená a udržovaná serverovou aplikací, která může být "bezproblémově" začleněna do dokumentu, aby se uživateli zdá, že jde o jeden dokument. Výsledkem je "složený dokument" tvořený položkou OLE a obsahujícím dokument.

Položka OLE může být vložená nebo propojená. Pokud je vložena, uloží se její data jako součást složeného dokumentu. Pokud je propojená, uloží se její data jako součást samostatného souboru vytvořeného serverovou aplikací a uloží se do složeného dokumentu jenom odkaz na tento soubor. Všechny položky OLE obsahují informace určující serverovou aplikaci, která by se měla volat pro jejich úpravu.

COleClientItem definuje několik přepisovatelných funkcí, které se volají v reakci na požadavky ze serverové aplikace; tyto přepisovatelné obvykle fungují jako oznámení. To umožňuje serverové aplikaci informovat kontejner o změnách, které uživatel provede při úpravách položky OLE, nebo načíst informace potřebné při úpravách.

COleClientItem lze použít s COleDocument, COleLinkingDoc nebo COleServerDoc třídy. Chcete-li použít COleClientItem, odvodit z něj třídu a implementovat onChange členské funkce, která definuje, jak kontejner reaguje na změny provedené v položce. Pokud chcete podporovat místní aktivaci, přepište členovou funkci OnGetItemPosition . Tato funkce poskytuje informace o zobrazené pozici položky OLE.

Další informace o používání rozhraní kontejneru najdete v článcích Kontejnery: Implementace kontejneru a aktivace.

Poznámka:

Sada Windows SDK odkazuje na vložené a propojené položky jako "objekty" a odkazuje na typy položek jako "třídy". Tento odkaz používá termín "item" k odlišení entity OLE od odpovídajícího objektu C++ a termínu "type" k rozlišení kategorie OLE od třídy C++.

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

CDocItem

COleClientItem

Požadavky

Hlavička: afxole.h

COleClientItem::Activate

Voláním této funkce spustíte místo DoVerb zadané sloveso, abyste mohli při vyvolání výjimky provést vlastní zpracování.

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

Parametry

nVerb
Určuje příkaz, který se má provést. Může se zobrazit některý z následujících:

Hodnota Význam Symbol
0 až primární požadavek OLEIVERB_PRIMARY
-1 Sekundární sloveso (Žádné)
-1 Zobrazit položku pro úpravy OLEIVERB_SHOW
-2 Upravit položku v samostatném okně OLEIVERB_OPEN
-3 Skrýt položku OLEIVERB_HIDE

Hodnota -1 je obvykle alias pro jiné sloveso. Pokud se otevřené úpravy nepodporují, má -2 stejný účinek jako -1. Další hodnoty najdete v tématu IOleObject::D oVerb v sadě Windows SDK.

pView
Ukazatel na okno zobrazení kontejneru, které obsahuje položku OLE; používá ji serverová aplikace k místní aktivaci. Pokud kontejner nepodporuje místní aktivaci, měl by mít tento parametr hodnotu NULL.

lpMsg
Ukazatel na zprávu, která způsobila aktivaci položky.

Poznámky

Pokud byla serverová aplikace zapsána pomocí knihovny tříd Microsoft Foundation, tato funkce způsobí spuštění členské funkce OnDoVerb odpovídajícího COleServerItem objektu.

Pokud je primární příkaz Edit a nula je zadána v parametru nVerb , serverová aplikace se spustí, aby bylo možné upravit položku OLE. Pokud aplikace kontejneru podporuje místní aktivaci, je možné úpravy provést na místě. Pokud kontejner nepodporuje místní aktivaci (nebo pokud je zadán příkaz Otevřít), server se spustí v samostatném okně a může se tam provést úpravy. Obvykle, když uživatel aplikace kontejneru pokliká na položku OLE, hodnota primárního příkazu v nVerb parametr určuje, kterou akci může uživatel provést. Pokud však server podporuje pouze jednu akci, provede tuto akci bez ohledu na to, jakou hodnotu je zadaná v parametru nVerb .

Další informace naleznete v tématu IOleObject::D oVerb v sadě Windows SDK.

COleClientItem::ActivateAs

Používá objektové převodní zařízení OLE k aktivaci položky, jako by to byla položka typu určeného clsidNew.

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

Parametry

lpszUserType
Ukazatel na řetězec představující cílový typ uživatele, například "Dokument aplikace Word".

clsidOld
Odkaz na aktuální ID třídy položky. ID třídy by mělo představovat typ skutečného objektu, jak je uloženo, pokud se nejedná o odkaz. V takovém případě by to mělo být CLSID položky, na kterou odkaz odkazuje. COleConvertDialog automaticky poskytuje správné ID třídy pro položku.

clsidNew
Odkaz na ID cílové třídy.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tato funkce je volána automaticky COleConvertDialog ::D oConvert. Obvykle se nevolá přímo.

COleClientItem::AttachDataObject

Voláním této funkce inicializuje objekt COleDataObject pro přístup k datům v položce OLE.

void AttachDataObject(COleDataObject& rDataObject) const;

Parametry

rDataObject
Odkaz na COleDataObject objekt, který bude inicializován tak, aby umožňoval přístup k datům v položce OLE.

COleClientItem::CanActivate

Volá se rozhraním, když uživatel požaduje místní aktivaci položky OLE; Návratová hodnota této funkce určuje, jestli je povolená místní aktivace.

virtual BOOL CanActivate();

Návratová hodnota

Nenulové, pokud je povolená místní aktivace; jinak 0.

Poznámky

Výchozí implementace umožňuje místní aktivaci, pokud má kontejner platné okno. Přepište tuto funkci tak, aby implementovaly speciální logiku pro přijetí nebo odmítnutí žádosti o aktivaci. Žádost o aktivaci může být například odmítnuta, pokud je položka OLE příliš malá nebo není aktuálně viditelná.

Další informace naleznete v tématu IOleInPlaceSite::CanInPlaceActivate v sadě Windows SDK.

COleClientItem::CanCreateFromData

Zkontroluje, zda může aplikace kontejneru vytvořit vložený objekt z daného COleDataObject objektu.

static BOOL PASCAL CanCreateFromData(const COleDataObject* pDataObject);

Parametry

pDataObject
Ukazatel na objekt COleDataObject , ze kterého má být vytvořena položka OLE.

Návratová hodnota

Nenulové, pokud kontejner může vytvořit vložený objekt z objektu COleDataObject , jinak 0.

Poznámky

Třída COleDataObject se používá v přenosech dat pro načítání dat v různých formátech ze schránky, přetažením nebo z vložené položky OLE.

Kontejnery můžou tuto funkci použít k tomu, aby se rozhodly povolit nebo zakázat příkazy Upravit vložení a Vložit jinak.

Další informace najdete v článku Datové objekty a zdroje dat (OLE).

COleClientItem::CanCreateLinkFromData

Zkontroluje, jestli aplikace kontejneru může z daného COleDataObject objektu vytvořit propojený objekt.

static BOOL PASCAL CanCreateLinkFromData(const COleDataObject* pDataObject);

Parametry

pDataObject
Ukazatel na objekt COleDataObject , ze kterého má být vytvořena položka OLE.

Návratová hodnota

Nenulové, pokud kontejner může vytvořit propojený objekt z objektu COleDataObject .

Poznámky

Třída COleDataObject se používá v přenosech dat pro načítání dat v různých formátech ze schránky, přetažením nebo z vložené položky OLE.

Kontejnery můžou tuto funkci použít k tomu, aby se rozhodly povolit nebo zakázat příkazy Upravit vložit jinak a Upravit vložit odkaz.

Další informace najdete v článku Datové objekty a zdroje dat (OLE).

COleClientItem::CanPaste

Voláním této funkce zjistíte, zda lze vloženou položku OLE vložit ze schránky.

static BOOL PASCAL CanPaste();

Návratová hodnota

Nenulové, pokud lze vloženou položku OLE vložit ze schránky; jinak 0.

Poznámky

Další informace naleznete v tématu OleGetClipboard a OleQueryCreateFromData v sadě Windows SDK.

Voláním této funkce zjistíte, zda lze propojenou položku OLE vložit ze schránky.

static BOOL PASCAL CanPasteLink();

Návratová hodnota

Nenulové, pokud propojenou položku OLE lze vložit ze schránky; jinak 0.

Poznámky

Další informace naleznete v tématu OleGetClipboard a OleQueryLinkFromData v sadě Windows SDK.

COleClientItem::Close

Voláním této funkce změníte stav položky OLE ze spuštěného stavu na načtený stav, tj. načtený s jeho obslužnou rutinou v paměti, ale se serverem není spuštěný.

void Close(OLECLOSE dwCloseOption = OLECLOSE_SAVEIFDIRTY);

Parametry

dwCloseOption
Příznak určující, za jakých okolností je položka OLE uložena při návratu do načteného stavu. Může mít jednu z následujících hodnot:

  • OLECLOSE_SAVEIFDIRTY Uložit položku OLE.

  • OLECLOSE_NOSAVE Neukládejte položku OLE.

  • OLECLOSE_PROMPTSAVE Vyzvat uživatele, zda má být položka OLE uložena.

Poznámky

Tato funkce nemá žádný vliv, pokud položka OLE není spuštěna.

Další informace naleznete v tématu IOleObject::Close v sadě Windows SDK.

COleClientItem::COleClientItem

COleClientItem Vytvoří objekt a přidá ho do kolekce dokumentů dokumentu kontejneru položek dokumentu, která vytvoří pouze objekt C++ a neprovede žádnou inicializaci OLE.

COleClientItem(COleDocument* pContainerDoc = NULL);

Parametry

pContainerDoc
Ukazatel na dokument kontejneru, který bude obsahovat tuto položku. To může být jakýkoli COleDocument derivát.

Poznámky

Pokud předáte ukazatel NULL, není do dokumentu kontejneru provedeno žádné přidání. Musíte explicitně volat COleDocument::AddItem.

Před použitím položky OLE musíte volat jednu z následujících členských funkcí vytvoření:

COleClientItem::ConvertTo

Voláním této členské funkce převeďte položku na typ určený clsidNew.

virtual BOOL ConvertTo(REFCLSID clsidNew);

Parametry

clsidNew
ID třídy cílového typu.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tato funkce je volána automaticky COleConvertDialog. Není nutné ho volat přímo.

COleClientItem::CopyToClipboard

Voláním této funkce zkopírujete položku OLE do schránky.

void CopyToClipboard(BOOL bIncludeLink = FALSE);

Parametry

bIncludeLink
PRAVDA, pokud by se informace o propojení měly zkopírovat do schránky, což umožňuje vložit propojenou položku; jinak NEPRAVDA.

Poznámky

Tuto funkci obvykle voláte při psaní obslužných rutin zpráv pro příkazy Kopírovat nebo Vyjmout z nabídky Upravit. Pokud chcete implementovat příkazy Kopírovat nebo Vyjmout, musíte ve své aplikaci kontejneru implementovat výběr položek.

Další informace naleznete v tématu OleSetClipboard v sadě Windows SDK.

COleClientItem::CreateCloneFrom

Voláním této funkce vytvoříte kopii zadané položky OLE.

BOOL CreateCloneFrom(const COleClientItem* pSrcItem);

Parametry

pSrcItem
Ukazatel na položku OLE, která se má duplikovat.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Kopie je stejná jako zdrojová položka. Tuto funkci můžete použít k podpoře operací vrácení zpět.

COleClientItem::CreateFromClipboard

Voláním této funkce vytvoříte vloženou položku z obsahu schránky.

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

Parametry

poskytnout
Příznak určující, jak bude server vykreslovat položku OLE. Možné hodnoty naleznete v části OLERENDER v sadě Windows SDK.

cfFormat
Určuje formát dat schránky, který se má uložit do mezipaměti při vytváření položky OLE.

lpFormatEtc
Ukazatel na strukturu FORMATETC použitou, pokud je vykreslení OLERENDER_FORMAT nebo OLERENDER_DRAW. Zadejte hodnotu pro tento parametr pouze v případě, že chcete zadat další informace o formátu mimo formát schránky určený cfFormat. Pokud tento parametr vynecháte, použijí se výchozí hodnoty pro ostatní pole ve struktuře FORMATETC .

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tuto funkci obvykle voláte z obslužné rutiny zprávy pro příkaz Vložit v nabídce Upravit. (Příkaz Vložit je povolen rozhraním, pokud je Členské funkce CanPaste vrátí nenulové.)

Další informace naleznete v tématu OLERENDER a FORMATETC v sadě Windows SDK.

COleClientItem::CreateFromData

Voláním této funkce vytvoříte vloženou položku z objektu COleDataObject .

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

Parametry

pDataObject
Ukazatel na objekt COleDataObject , ze kterého má být vytvořena položka OLE.

poskytnout
Příznak určující, jak bude server vykreslovat položku OLE. Možné hodnoty naleznete v části OLERENDER v sadě Windows SDK.

cfFormat
Určuje formát dat schránky, který se má uložit do mezipaměti při vytváření položky OLE.

lpFormatEtc
Ukazatel na strukturu FORMATETC použitou, pokud je vykreslení OLERENDER_FORMAT nebo OLERENDER_DRAW. Zadejte hodnotu pro tento parametr pouze v případě, že chcete zadat další informace o formátu mimo formát schránky určený cfFormat. Pokud tento parametr vynecháte, použijí se výchozí hodnoty pro ostatní pole ve struktuře FORMATETC .

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Operace přenosu dat, jako je vložení ze schránky nebo operace přetažení, poskytují COleDataObject objekty obsahující informace nabízené serverovou aplikací. Obvykle se používá v přepsání objektu CView::OnDrop.

Další informace naleznete v tématu OleCreateFromData, OLERENDER a FORMATETC v sadě Windows SDK.

COleClientItem::CreateFromFile

Voláním této funkce vytvoříte vloženou položku OLE ze souboru.

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

Parametry

lpszFileName
Ukazatel na název souboru, ze kterého má být vytvořena položka OLE.

clsid
Vyhrazeno pro budoucí použití.

poskytnout
Příznak určující, jak bude server vykreslovat položku OLE. Možné hodnoty naleznete v části OLERENDER v sadě Windows SDK.

cfFormat
Určuje formát dat schránky, který se má uložit do mezipaměti při vytváření položky OLE.

lpFormatEtc
Ukazatel na strukturu FORMATETC použitou, pokud je vykreslení OLERENDER_FORMAT nebo OLERENDER_DRAW. Zadejte hodnotu pro tento parametr pouze v případě, že chcete zadat další informace o formátu mimo formát schránky určený cfFormat. Pokud tento parametr vynecháte, použijí se výchozí hodnoty pro ostatní pole ve struktuře FORMATETC .

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Architektura volá tuto funkci z COleInsertDialog::CreateItem , pokud uživatel zvolí OK z dialogového okna Vložit objekt, když je vybráno tlačítko Vytvořit ze souboru.

Další informace naleznete v tématu OleCreateFromFile, OLERENDER a FORMATETC v sadě Windows SDK.

COleClientItem::CreateLinkFromClipboard

Voláním této funkce vytvoříte propojenou položku z obsahu schránky.

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

Parametry

poskytnout
Příznak určující, jak bude server vykreslovat položku OLE. Možné hodnoty naleznete v části OLERENDER v sadě Windows SDK.

cfFormat
Určuje formát dat schránky, který se má uložit do mezipaměti při vytváření položky OLE.

lpFormatEtc
Ukazatel na strukturu FORMATETC použitou, pokud je vykreslení OLERENDER_FORMAT nebo OLERENDER_DRAW. Zadejte hodnotu pro tento parametr pouze v případě, že chcete zadat další informace o formátu mimo formát schránky určený cfFormat. Pokud tento parametr vynecháte, použijí se výchozí hodnoty pro ostatní pole ve struktuře FORMATETC .

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tuto funkci obvykle voláte z obslužné rutiny zprávy pro příkaz Vložit odkaz v nabídce Upravit. (Příkaz Vložit propojení je povolený ve výchozí implementaci COleDocument , pokud schránka obsahuje položku OLE, ke které lze propojit.)

Další informace naleznete v tématu OLERENDER a FORMATETC v sadě Windows SDK.

COleClientItem::CreateLinkFromData

Voláním této funkce vytvoříte propojenou položku z objektu COleDataObject .

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

Parametry

pDataObject
Ukazatel na objekt COleDataObject , ze kterého má být vytvořena položka OLE.

poskytnout
Příznak určující, jak bude server vykreslovat položku OLE. Možné hodnoty naleznete v části OLERENDER v sadě Windows SDK.

cfFormat
Určuje formát dat schránky, který se má uložit do mezipaměti při vytváření položky OLE.

lpFormatEtc
Ukazatel na strukturu FORMATETC použitou, pokud je vykreslení OLERENDER_FORMAT nebo OLERENDER_DRAW. Zadejte hodnotu pro tento parametr pouze v případě, že chcete zadat další informace o formátu mimo formát schránky určený cfFormat. Pokud tento parametr vynecháte, použijí se výchozí hodnoty pro ostatní pole ve struktuře FORMATETC .

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Volejte to během operace přetažení, když uživatel indikuje, že by se měl vytvořit odkaz. Lze ho použít také ke zpracování příkazu Upravit vložení. Volá se architekturou v COleClientItem::CreateLinkFromClipboard A v COlePasteSpecialDialog::CreateItem , když je vybrána možnost Propojení.

Další informace naleznete v tématu OleCreateLinkFromData, OLERENDER a FORMATETC v sadě Windows SDK.

COleClientItem::CreateLinkFromFile

Voláním této funkce vytvoříte propojenou položku OLE ze souboru.

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

Parametry

lpszFileName
Ukazatel na název souboru, ze kterého má být vytvořena položka OLE.

poskytnout
Příznak určující, jak bude server vykreslovat položku OLE. Možné hodnoty naleznete v části OLERENDER v sadě Windows SDK.

cfFormat
Určuje formát dat schránky, který se má uložit do mezipaměti při vytváření položky OLE.

lpFormatEtc
Ukazatel na strukturu FORMATETC použitou, pokud je vykreslení OLERENDER_FORMAT nebo OLERENDER_DRAW. Zadejte hodnotu pro tento parametr pouze v případě, že chcete zadat další informace o formátu mimo formát schránky určený cfFormat. Pokud tento parametr vynecháte, použijí se výchozí hodnoty pro ostatní pole ve struktuře FORMATETC .

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Architektura volá tuto funkci, pokud uživatel zvolí OK z dialogového okna Vložit objekt, když je zaškrtnuto tlačítko Vytvořit ze souboru a je zaškrtnuto políčko Propojit. Volá se z COleInsertDialog::CreateItem.

Další informace naleznete v tématu OleCreateLinkToFile, OLERENDER a FORMATETC v sadě Windows SDK.

COleClientItem::CreateNewItem

Voláním této funkce vytvoříte vloženou položku; tato funkce spustí serverové aplikace, která uživateli umožňuje vytvořit položku OLE.

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

Parametry

clsid
ID, které jednoznačně identifikuje typ položky OLE k vytvoření.

poskytnout
Příznak určující, jak bude server vykreslovat položku OLE. Možné hodnoty naleznete v části OLERENDER v sadě Windows SDK.

cfFormat
Určuje formát dat schránky, který se má uložit do mezipaměti při vytváření položky OLE.

lpFormatEtc
Ukazatel na strukturu FORMATETC použitou, pokud je vykreslení OLERENDER_FORMAT nebo OLERENDER_DRAW. Zadejte hodnotu pro tento parametr pouze v případě, že chcete zadat další informace o formátu mimo formát schránky určený cfFormat. Pokud tento parametr vynecháte, použijí se výchozí hodnoty pro ostatní pole ve struktuře FORMATETC .

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Architektura volá tuto funkci, pokud uživatel zvolí OK z dialogového okna Vložit objekt, když je vybráno tlačítko Vytvořit nový.

Další informace naleznete v tématu OleCreate, OLERENDER a FORMATETC v sadě Windows SDK.

COleClientItem::CreateStaticFromClipboard

Voláním této funkce vytvoříte statickou položku z obsahu schránky.

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

Parametry

poskytnout
Příznak určující, jak bude server vykreslovat položku OLE. Možné hodnoty naleznete v části OLERENDER v sadě Windows SDK.

cfFormat
Určuje formát dat schránky, který se má uložit do mezipaměti při vytváření položky OLE.

lpFormatEtc
Ukazatel na strukturu FORMATETC použitou, pokud je vykreslení OLERENDER_FORMAT nebo OLERENDER_DRAW. Zadejte hodnotu pro tento parametr pouze v případě, že chcete zadat další informace o formátu mimo formát schránky určený cfFormat. Pokud tento parametr vynecháte, použijí se výchozí hodnoty pro ostatní pole ve struktuře FORMATETC .

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Statická položka obsahuje prezentační data, ale ne nativní data; v důsledku toho jej nelze upravit. Tuto funkci obvykle voláte v případě selhání členské funkce CreateFromClipboard .

Další informace naleznete v tématu OLERENDER a FORMATETC v sadě Windows SDK.

COleClientItem::CreateStaticFromData

Voláním této funkce vytvoříte statickou položku z objektu COleDataObject .

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

Parametry

pDataObject
Ukazatel na objekt COleDataObject , ze kterého má být vytvořena položka OLE.

poskytnout
Příznak určující, jak bude server vykreslovat položku OLE. Možné hodnoty naleznete v části OLERENDER v sadě Windows SDK.

cfFormat
Určuje formát dat schránky, který se má uložit do mezipaměti při vytváření položky OLE.

lpFormatEtc
Ukazatel na strukturu FORMATETC použitou, pokud je vykreslení OLERENDER_FORMAT nebo OLERENDER_DRAW. Zadejte hodnotu pro tento parametr pouze v případě, že chcete zadat další informace o formátu mimo formát schránky určený cfFormat. Pokud tento parametr vynecháte, použijí se výchozí hodnoty pro ostatní pole ve struktuře FORMATETC .

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Statická položka obsahuje prezentační data, ale ne nativní data; v důsledku toho nelze upravit. To je v podstatě stejné jako CreateStaticFromClipboard s tím rozdílem, že statickou položku lze vytvořit z libovolného COleDataObject, nejen ze schránky.

Používá se v COlePasteSpecialDialog::CreateItem při výběru statického objektu.

Další informace naleznete v tématu OleCreateStaticFromData, OLERENDER a FORMATETC v sadě Windows SDK.

COleClientItem::D eactivate

Voláním této funkce deaktivujete položku OLE a uvolníte všechny přidružené prostředky.

void Deactivate();

Poznámky

Obvykle deaktivujete místní aktivní položku OLE, když uživatel klikne myší na klientskou oblast mimo hranice položky. Všimněte si, že deaktivace položky OLE zahodí svůj stav zpět, což znemožňuje volání členské funkce ReactivateAndUndo .

Pokud vaše aplikace podporuje vrácení zpět, nevolejte Deactivate; místo toho volejte DeactivateUI.

Další informace naleznete v tématu IOleInPlaceObject::InPlaceDeactivate v sadě Windows SDK.

COleClientItem::D eactivateUI

Tuto funkci zavolejte, když uživatel deaktivuje aktivovanou položku.

void DeactivateUI();

Poznámky

Tato funkce obnoví uživatelské rozhraní aplikace kontejneru do původního stavu, skryje všechny nabídky a další ovládací prvky vytvořené pro místní aktivaci.

Tato funkce nevyprázdní informace o stavu vrácení zpět pro položku. Tyto informace se zachovají, aby bylo možné znovu aktivovatAndUndo později k provedení příkazu zpět v serverové aplikaci v případě, že se příkaz zpět kontejneru vybere hned po deaktivaci položky.

Další informace naleznete v tématu IOleInPlaceObject::InPlaceDeactivate v sadě Windows SDK.

COleClientItem::D elete

Voláním této funkce odstraníte položku OLE z dokumentu kontejneru.

void Delete(BOOL bAutoDelete = TRUE);

Parametry

bAutoDelete
Určuje, zda má být položka odebrána z dokumentu.

Poznámky

Tato funkce volá členovou funkci release , která zase odstraní objekt C++ pro položku, trvale odebere položku OLE z dokumentu. Pokud je položka OLE vložena, jsou odstraněna nativní data položky. Vždy zavře spuštěný server; proto pokud je položka otevřeným odkazem, tato funkce ji zavře.

COleClientItem::D oDragDrop

Volání členské DoDragDrop funkce k provedení operace přetažení.

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

Parametry

lpItemRect
Obdélník položky na obrazovce v souřadnicích klienta (pixely).

ptOffset
Posun od lpItemRect , kde byla pozice myši v době přetažení.

bIncludeLink
Pokud by se data propojení měla zkopírovat do schránky, nastavte na hodnotu TRUE. Pokud serverová aplikace nepodporuje odkazy, nastavte ji na FALSE.

DwEffects
Určuje efekty, které zdroj přetažení umožní v operaci přetažení.

lpRectStartDrag
Ukazatel na obdélník, který definuje, kde se skutečně spouští přetažení. Další informace naleznete v následující části poznámky.

Návratová hodnota

Hodnota DROPEFFECT. Pokud je DROPEFFECT_MOVE, měla by se původní data odebrat.

Poznámky

Operace přetažení se nespustí okamžitě. Počká, dokud kurzor myši neopustí obdélník určený lpRectStartDrag nebo dokud nepřejde zadaný počet milisekund. Pokud lpRectStartDrag je NULL, velikost obdélníku je jeden pixel.

Doba zpoždění je určena nastavením klíče registru. Zpoždění můžete změnit voláním CWinApp::WriteProfileString nebo CWinApp::WriteProfileInt. Pokud nezadáte dobu zpoždění, použije se výchozí hodnota 200 milisekund. Doba zpoždění přetažení se ukládá takto:

  • systém Windows NT Doba zpoždění přetažení je uložena ve složce HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay.

  • Čas zpoždění přetažení systému Windows 3.x je uložen v systému WIN. Soubor INI v části [Windows}.

  • Windows 95/98 Doba zpoždění přetažení je uložena v mezipaměti verze WIN. INI.

Další informace o tom, jak jsou informace o zpoždění přetažení uloženy v registru nebo v registru . Soubor INI viz WriteProfileString v sadě Windows SDK.

COleClientItem::D oVerb

Volání DoVerb ke spuštění zadaného příkazu

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

Parametry

nVerb
Určuje příkaz, který se má provést. Může obsahovat jednu z následujících možností:

Hodnota Význam Symbol
0 až primární požadavek OLEIVERB_PRIMARY
-1 Sekundární sloveso (Žádné)
-1 Zobrazit položku pro úpravy OLEIVERB_SHOW
-2 Upravit položku v samostatném okně OLEIVERB_OPEN
-3 Skrýt položku OLEIVERB_HIDE

Hodnota -1 je obvykle alias pro jiné sloveso. Pokud se otevřené úpravy nepodporují, má -2 stejný účinek jako -1. Další hodnoty najdete v tématu IOleObject::D oVerb v sadě Windows SDK.

pView
Ukazatel na okno zobrazení; server ho používá k místní aktivaci. Tento parametr by měl být NULL, pokud aplikace kontejneru nepovoluje místní aktivaci.

lpMsg
Ukazatel na zprávu, která způsobila aktivaci položky.

Návratová hodnota

Nenulové, pokud se příkaz úspěšně spustil; jinak 0.

Poznámky

Tato funkce volá funkci Aktivovat člen, aby spustila příkaz. Zachytí také výjimky a zobrazí uživateli pole se zprávou, pokud je vyvolán.

Pokud je primární příkaz Edit a nula je zadána v parametru nVerb , serverová aplikace se spustí, aby bylo možné upravit položku OLE. Pokud aplikace kontejneru podporuje místní aktivaci, je možné úpravy provést na místě. Pokud kontejner nepodporuje místní aktivaci (nebo pokud je zadán příkaz Otevřít), server se spustí v samostatném okně a může se tam provést úpravy. Obvykle, když uživatel aplikace kontejneru pokliká na položku OLE, hodnota primárního příkazu v nVerb parametr určuje, kterou akci může uživatel provést. Pokud však server podporuje pouze jednu akci, provede tuto akci bez ohledu na to, jakou hodnotu je zadaná v parametru nVerb .

COleClientItem::D raw

Voláním této funkce nakreslete položku OLE do zadaného ohraničujícího obdélníku pomocí zadaného kontextu zařízení.

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

Parametry

pDC
Ukazatel na objekt CDC použitý k nakreslení položky OLE.

lpBounds
Ukazatel na objekt nebo RECT strukturu CRect, která definuje ohraničující obdélník, ve kterém chcete nakreslit položku OLE (v logických jednotkách určených kontextem zařízení).

nDrawAspect
Určuje aspekt položky OLE, to znamená, jak by měla být zobrazena. Pokud nDrawAspect je -1, použije se poslední sada stran pomocí SetDrawAspect . Další informace o možnýchhodnotách

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Funkce může použít reprezentaci metasouboru položky OLE vytvořené onDraw člen funkce COleServerItem.

Obvykle se používá Draw pro zobrazení obrazovky a předává kontext zařízení obrazovky jako pDC. V tomto případě musíte zadat pouze první dva parametry.

Parametr lpBounds identifikuje obdélník v kontextu cílového zařízení (vzhledem k aktuálnímu režimu mapování). Vykreslování může zahrnovat škálování obrázku a mohou je používat aplikace kontejnerů k uložení zobrazení, které se škáluje mezi zobrazeným zobrazením a konečným vytištěným obrázkem.

Další informace naleznete v tématu IViewObject::D raw v sadě Windows SDK.

COleClientItem::GetActiveView

Vrátí zobrazení, na kterém je položka aktivovaná.

CView* GetActiveView() const;

Návratová hodnota

Ukazatel na zobrazení; v opačném případě hodnota NULL, pokud není položka aktivována na místě.

COleClientItem::GetCachedExtent

Voláním této funkce načtěte velikost položky OLE.

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

Parametry

lpSize
Ukazatel na SIZE strukturu nebo objekt CSize , který obdrží informace o velikosti.

nDrawAspect
Určuje aspekt položky OLE, jejíž hranice mají být načteny. Možné hodnoty naleznete v tématu SetDrawAspect.

Návratová hodnota

Nenulové, pokud je úspěšné; 0, pokud je položka OLE prázdná.

Poznámky

Tato funkce poskytuje stejné informace jako GetExtent. Během zpracování jiných obslužných rutin OLE, jako je Například OnChange, však můžete volat GetCachedExtent informace o rozsahu. Rozměry jsou v MM_HIMETRIC jednotkách.

To je možné, protože GetCachedExtent používá IViewObject2 rozhraní místo použití IOleObject rozhraní získat rozsah této položky. Objekt IViewObject2 COM ukládá informace o rozsahu použité v předchozím volání IViewObject::D raw.

Další informace naleznete v tématu IViewObject2::GetExtent v sadě Windows SDK.

COleClientItem::GetClassID

Vrátí ID třídy položky do paměti odkazované na pClassID.

void GetClassID(CLSID* pClassID) const;

Parametry

pClassID
Ukazatel na identifikátor typu CLSID pro načtení ID třídy. Informace o CLSID najdete v sadě Windows SDK.

Poznámky

ID třídy je 128bitové číslo, které jednoznačně identifikuje aplikaci, která položku upravuje.

Další informace naleznete v tématu IPersist::GetClassID v sadě Windows SDK.

COleClientItem::GetClipboardData

Voláním této funkce získáte COleDataSource objekt obsahující všechna data, která by byla umístěna do schránky voláním členské funkce CopyToClipboard .

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

Parametry

pDataSource
Ukazatel na objekt COleDataSource , který obdrží data obsažená v položce OLE.

bIncludeLink
TRUE, pokud by měla být zahrnuta data propojení; jinak NEPRAVDA.

lpOffset
Posun kurzoru myši od počátku objektu v pixelech.

lpSize
Velikost objektu v pixelech.

Poznámky

GetClipboardData je volána jako výchozí implementace OnGetClipboardData. Přepsat OnGetClipboardData pouze v případě, že chcete nabízet datové formáty navíc k těm, které CopyToClipboardnabízí . Tyto formáty umístěte do objektu COleDataSource před nebo po volání CopyToClipboarda pak předejte COleDataSource objekt COleDataSource ::SetClipboard funkce. Pokud například chcete, aby byla pozice položky OLE v dokumentu kontejneru připojena do schránky, definovali byste vlastní formát pro předání informací a jeho umístění do COleDataSource předvolání CopyToClipboard.

COleClientItem::GetDocument

Voláním této funkce získáte ukazatel na dokument, který obsahuje položku OLE.

COleDocument* GetDocument() const;

Návratová hodnota

Ukazatel na dokument, který obsahuje položku OLE. HODNOTA NULL, pokud položka není součástí dokumentu.

Poznámky

Tento ukazatel umožňuje přístup k objektu COleDocument , který jste předali jako argument konstruktoru COleClientItem .

COleClientItem::GetDrawAspect

Voláním GetDrawAspect členské funkce určíte aktuální "aspekt" nebo zobrazení položky.

DVASPECT GetDrawAspect() const;

Návratová hodnota

Hodnota z výčtu DVASPECT, jejíž hodnoty jsou uvedeny v odkazu pro SetDrawAspect.

Poznámky

Aspekt určuje, jak se má položka vykreslit.

COleClientItem::GetExtent

Voláním této funkce načtěte velikost položky OLE.

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

Parametry

lpSize
Ukazatel na SIZE strukturu nebo CSize objekt, který obdrží informace o velikosti.

nDrawAspect
Určuje aspekt položky OLE, jejíž hranice mají být načteny. Možné hodnoty naleznete v tématu SetDrawAspect.

Návratová hodnota

Nenulové, pokud je úspěšné; 0, pokud je položka OLE prázdná.

Poznámky

Pokud byla serverová aplikace zapsána pomocí knihovny tříd Microsoft Foundation, tato funkce způsobí , že je volána členská funkce OnGetExtent odpovídajícího COleServerItem objektu. Všimněte si, že načtená velikost se může lišit od velikosti, kterou naposledy nastavila členová funkce SetExtent . Velikost zadaná SetExtent funkcí je považována za návrh. Rozměry jsou v MM_HIMETRIC jednotkách.

Poznámka:

Během zpracování obslužné rutiny OLE, jako je Například OnChange, nezavolejteGetExtent. Místo toho volejte GetCachedExtent .

Další informace naleznete v tématu IOleObject::GetExtent v sadě Windows SDK.

COleClientItem::GetIconFromRegistry

Voláním této členské funkce načtěte popisovač k prostředku ikony přidruženému k serveru konkrétního CLSID.

HICON GetIconFromRegistry() const;

static HICON GetIconFromRegistry(CLSID& clsid);

Parametry

clsid
Odkaz na CLSID pro server přidružený k ikoně.

Návratová hodnota

Platný popisovač prostředku ikony nebo hodnota NULL, pokud se ikona serveru nebo výchozí ikona nenašla.

Poznámky

Tato členová funkce nespustí server ani dynamicky získá ikonu, i když je server již spuštěný. Místo toho tato členská funkce otevře spustitelný obrázek serveru a načte statickou ikonu přidruženou k serveru při registraci.

COleClientItem::GetIconicMetafile

Načte metasoubor použitý k vykreslení ikony položky.

HGLOBAL GetIconicMetafile();

Návratová hodnota

Popisovač metasouboru v případě úspěchu; jinak NULL.

Poznámky

Pokud neexistuje žádná aktuální ikona, vrátí se výchozí ikona. To se volá automaticky dialogovými okny MFC/OLE a obvykle se nevolá přímo.

Tato funkce také volá SetIconicMetafile k uložení metasouboru do mezipaměti pro pozdější použití.

COleClientItem::GetInPlaceWindow

Voláním GetInPlaceWindow členské funkce získáte ukazatel na okno, ve kterém byla položka otevřena pro místní úpravy.

CWnd* GetInPlaceWindow();

Návratová hodnota

Ukazatel na místní okno pro úpravy položky; HODNOTA NULL, pokud položka není aktivní nebo pokud její server není k dispozici.

Poznámky

Tato funkce by měla být volána pouze pro položky, které jsou aktivní na místě.

COleClientItem::GetItemState

Voláním této funkce získáte aktuální stav položky OLE.

UINT GetItemState() const;

Návratová hodnota

Výčtová COleClientItem::ItemState hodnota, která může být jedna z následujících: emptyState, loadedState, openState, activeState, . activeUIState Informace o těchto stavech najdete v článku Kontejnery: Stavy klienta-položka.

Poznámky

Chcete-li být upozorněni při změně stavu položky OLE, použijte členské funkce OnChange .

Další informace najdete v článku Kontejnery: Stavy klienta a položky.

COleClientItem::GetLastStatus

Vrátí stavový kód poslední operace OLE.

SCODE GetLastStatus() const;

Návratová hodnota

Hodnota SCODE.

Poznámky

Pro členské funkce, které vracejí hodnotu BOOL false nebo jiné členské funkce, které vrací hodnotu NULL, GetLastStatus vrátí podrobnější informace o selhání. Mějte na paměti, že většina členských funkcí OLE vyvolává výjimky pro vážnější chyby. Konkrétní informace o interpretaci SCODE závisí na základním volání OLE, které naposledy vrátilo hodnotu SCODE.

Další informace o SCODE naleznete v části Struktura kódů chyb modelu COM v dokumentaci k sadě Windows SDK.

COleClientItem::GetLinkUpdateOptions

Voláním této funkce získáte aktuální hodnotu možnosti link-update pro položku OLE.

OLEUPDATE GetLinkUpdateOptions();

Návratová hodnota

Jedna z následujících hodnot:

  • OLEUPDATE_ALWAYS aktualizovat propojenou položku, kdykoli je to možné. Tato možnost podporuje přepínač Automatické aktualizace propojení v dialogovém okně Odkazy.

  • OLEUPDATE_ONCALL aktualizovat propojenou položku pouze na žádost z aplikace kontejneru (pokud je volána členová funkce UpdateLink ). Tato možnost podporuje přepínač Ruční aktualizace propojení v dialogovém okně Odkazy.

Poznámky

Jedná se o pokročilou operaci.

Tato funkce je volána automaticky COleLinksDialog třídy.

Další informace naleznete v tématu IOleLink::GetUpdateOptions v sadě Windows SDK.

COleClientItem::GetType

Voláním této funkce určíte, zda je položka OLE vložena nebo propojena nebo statická.

OLE_OBJTYPE GetType() const;

Návratová hodnota

Celé číslo bez znaménka s jednou z následujících hodnot:

  • OT_LINK Položka OLE je propojení.

  • OT_EMBEDDED položka OLE je vložena.

  • OT_STATIC položka OLE je statická, tj. obsahuje pouze prezentační data, nikoli nativní data, a proto nelze upravit.

COleClientItem::GetUserType

Voláním této funkce získáte řetězec viditelný uživatelem popisující typ položky OLE, například "Dokument aplikace Word".

void GetUserType(
    USERCLASSTYPE nUserClassType,
    CString& rString);

Parametry

nUserClassType
Hodnota označující požadovanou variantu řetězce popisující typ položky OLE. Může mít jednu z následujících hodnot:

  • USERCLASSTYPE_FULL Úplný název typu zobrazený uživateli.

  • USERCLASSTYPE_SHORT Krátký název (maximálně 15 znaků) pro použití v automaticky otevíraných nabídkách a v dialogovém okně Upravit odkazy.

  • USERCLASSTYPE_APPNAME Název aplikace, která třídu obsluhuje.

rString
Odkaz na objekt CString , na který má být vrácen řetězec popisující typ položky OLE.

Poznámky

To je často položka v databázi registrace systému.

Pokud je požadován úplný název typu, ale není k dispozici, použije se místo toho krátký název. Pokud v registrační databázi není nalezena žádná položka pro typ položky OLE nebo pokud pro typ položky OLE nejsou registrovány žádné typy uživatelů, použije se typ uživatele, který je aktuálně uložen v položce OLE. Pokud je název typu uživatele prázdný řetězec, použije se "Neznámý objekt".

Další informace naleznete v tématu IOleObject::GetUserType v sadě Windows SDK.

COleClientItem::IsInPlaceActive

Voláním této funkce zjistíte, zda je položka OLE aktivní.

BOOL IsInPlaceActive() const;

Návratová hodnota

Nenulové, pokud je položka OLE aktivní; jinak 0.

Poznámky

V závislosti na tom, jestli se položka upravuje, je běžné provádět různé logiky. Funkce zkontroluje, zda je aktuální stav položky roven nebo activeState activeUIState.

COleClientItem::IsLinkUpToDate

Voláním této funkce zjistíte, jestli je položka OLE aktuální.

BOOL IsLinkUpToDate() const;

Návratová hodnota

Nenulové, pokud je položka OLE aktuální; jinak 0.

Poznámky

Propojená položka může být za aktuální, pokud byl jeho zdrojový dokument aktualizován. Vložená položka, která obsahuje odkazy v ní, se může podobně stát zastaralou. Funkce provede rekurzivní kontrolu položky OLE. Mějte na paměti, že určení, zda je položka OLE zadaná za aktuální, může být tak nákladná, jako když skutečně provádí aktualizaci.

Tato funkce se volá automaticky implementací COleLinksDialog .

Další informace naleznete v tématu IOleObject::IsUpToDate v sadě Windows SDK.

COleClientItem::IsModified

Voláním této funkce zjistíte, jestli je položka OLE zašpiněná (změněna od posledního uložení).

BOOL IsModified() const;

Návratová hodnota

Nenulové, pokud je položka OLE špinavá; jinak 0.

Poznámky

Další informace naleznete v tématu IPersistStorage::IsDirty v sadě Windows SDK.

COleClientItem::IsOpen

Voláním této funkce zjistíte, zda je položka OLE otevřená; to znamená, že se otevře v instanci serverové aplikace spuštěné v samostatném okně.

BOOL IsOpen() const;

Návratová hodnota

Nenulové, pokud je položka OLE otevřená; jinak 0.

Poznámky

Používá se k určení, kdy se má nakreslit objekt šrafovacím vzorem. Otevřený objekt by měl mít šrafový vzor nakreslený nad objektem. K tomu můžete použít objekt CRectTracker .

COleClientItem::IsRunning

Voláním této funkce zjistíte, zda je položka OLE spuštěna; to znamená, zda je položka načtena a spuštěna v serverové aplikaci.

BOOL IsRunning() const;

Návratová hodnota

Nenulové, pokud je položka OLE spuštěna; jinak 0.

Poznámky

Další informace naleznete v tématu OleIsRunning v sadě Windows SDK.

COleClientItem::OnActivate

Volal rozhraní k oznámení položky, že byla právě aktivována.

virtual void OnActivate();

Poznámky

Všimněte si, že tato funkce je volána, aby indikovala, že server je spuštěný, nikoli k označení, že jeho uživatelské rozhraní bylo nainstalováno v aplikaci kontejneru. V tomto okamžiku objekt nemá aktivní uživatelské rozhraní (není activeUIState). Nenainstaloval své nabídky ani panel nástrojů. Když k tomu dojde, volá se členová funkce OnActivateUI .

Výchozí implementace volá členské funkce OnChange s OLE_CHANGEDSTATE jako parametr. Přepište tuto funkci tak, aby prováděla vlastní zpracování, když se položka stane aktivní na místě.

COleClientItem::OnActivateUI

Rozhraní volá OnActivateUI , když objekt vstoupil do aktivního stavu uživatelského rozhraní.

virtual void OnActivateUI();

Poznámky

Objekt teď nainstaloval panel nástrojů a nabídky.

Výchozí implementace si pamatuje HWND serveru pro pozdější GetServerWindow volání.

COleClientItem::OnChange

Volá se rozhraním, když uživatel upraví, uloží nebo zavře položku OLE.

virtual void OnChange(
    OLE_NOTIFICATION nCode,
    DWORD dwParam);

Parametry

nCode
Důvod, proč server tuto položku změnil. Může mít jednu z následujících hodnot:

  • OLE_CHANGED Vzhled položky OLE se změnil.

  • OLE_SAVED Položka OLE byla uložena.

  • OLE_CLOSED Položka OLE byla uzavřena.

  • OLE_CHANGED_STATE Položka OLE se změnila z jednoho stavu na jiný.

dwParam
Pokud je nCode OLE_SAVED nebo OLE_CLOSED, tento parametr se nepoužívá. Pokud je nCode OLE_CHANGED, tento parametr určuje aspekt položky OLE, která se změnila. Možné hodnoty najdete v parametru dwParam COleClientItem::D raw. Pokud je nCode OLE_CHANGED_STATE, je tento parametr výčtovou COleClientItem::ItemState hodnotou a popisuje zadaný stav. Může mít jednu z následujících hodnot: emptyState, loadedState, openState, activeStatenebo activeUIState.

Poznámky

(Pokud je serverová aplikace napsaná pomocí knihovny tříd Microsoft Foundation, volá se tato funkce v reakci na Notify členské funkce COleServerDoc nebo COleServerItem.) Výchozí implementace označí dokument kontejneru jako upravený, pokud je nCode OLE_CHANGED nebo OLE_SAVED.

Pro OLE_CHANGED_STATE bude aktuální stav vrácený z GetItemState stále starým stavem, což znamená stav, který byl aktuální před touto změnou stavu.

Přepište tuto funkci tak, aby reagovala na změny ve stavu položky OLE. Vzhled položky obvykle aktualizujete tak, že zrušíte platnost oblasti, ve které se položka zobrazí. Volání implementace základní třídy na začátku přepsání.

COleClientItem::OnChangeItemPosition

Volá se rozhraním pro upozornění kontejneru, že došlo ke změně rozsahu položky OLE během místní aktivace.

virtual BOOL OnChangeItemPosition(const CRect& rectPos);

Parametry

rectPos
Označuje pozici položky vzhledem k oblasti klienta aplikace kontejneru.

Návratová hodnota

Nenulové, pokud je pozice položky úspěšně změněna; jinak 0.

Poznámky

Výchozí implementace určuje nový viditelný obdélník položky OLE a volá SetItemRects s novými hodnotami. Výchozí implementace vypočítá viditelný obdélník položky a předá dané informace serveru.

Přepište tuto funkci tak, aby se na operaci změny velikosti a přesunutí použila speciální pravidla. Pokud je aplikace zapsána v prostředí MFC, tato volání výsledky, protože server s názvem COleServerDoc::RequestPositionChange.

COleClientItem::OnDeactivate

Volá se rozhraním, když položka OLE přejde z místního aktivního stavu ( activeState) do načteného stavu, což znamená, že je deaktivována po místní aktivaci.

virtual void OnDeactivate();

Poznámky

Všimněte si, že tato funkce je volána k označení, že položka OLE je uzavřena, ne že jeho uživatelské rozhraní bylo odebráno z aplikace kontejneru. V takovém případě se volá členová funkce OnDeactivateUI .

Výchozí implementace volá členské funkce OnChange s OLE_CHANGEDSTATE jako parametr. Tuto funkci přepište tak, aby při deaktivaci místní aktivní položky prováděla vlastní zpracování. Pokud například podporujete příkaz zpět v aplikaci kontejneru, můžete tuto funkci přepsat tak, aby zahodila stav vrácení zpět, což znamená, že poslední operace provedená u položky OLE se po deaktivaci položky nedá vrátit zpět.

COleClientItem::OnDeactivateAndUndo

Volá se rozhraním, když uživatel vyvolá příkaz zpět po aktivaci položky OLE na místě.

virtual void OnDeactivateAndUndo();

Poznámky

Výchozí implementace volá DeactivateUI k deaktivaci uživatelského rozhraní serveru. Tuto funkci přepište, pokud implementujete příkaz zpět v aplikaci kontejneru. V přepsání zavolejte verzi základní třídy funkce a pak vraťte zpět poslední příkaz spuštěný v aplikaci.

Další informace naleznete v tématu IOleInPlaceSite::D eactivateAndUndo v sadě Windows SDK.

COleClientItem::OnDeactivateUI

Volá se, když uživatel deaktivuje aktivovanou položku.

virtual void OnDeactivateUI(BOOL bUndoable);

Parametry

bUndoable
Určuje, jestli se změny úprav nedají vrátit zpět.

Poznámky

Tato funkce obnoví uživatelské rozhraní aplikace kontejneru do původního stavu, skryje všechny nabídky a další ovládací prvky vytvořené pro místní aktivaci.

Pokud bUndoable je FALSE, měl by kontejner zakázat příkaz zpět, v důsledku zahození stavu vrácení zpět kontejneru, protože to znamená, že poslední operace provedená serverem není vrátit zpět.

COleClientItem::OnDiscardUndoState

Volá se rozhraním, když uživatel provede akci, která zahodí stav zpět při úpravě položky OLE.

virtual void OnDiscardUndoState();

Poznámky

Výchozí implementace nic nedělá. Tuto funkci přepište, pokud implementujete příkaz zpět v aplikaci kontejneru. V přepsání zahoďte stav vrácení zpět aplikace kontejneru.

Pokud byl server napsán s knihovnou tříd Microsoft Foundation, server může způsobit volání této funkce voláníM COleServerDoc::D iscardUndoState.

Další informace naleznete v tématu IOleInPlaceSite::D iscardUndoState v sadě Windows SDK.

COleClientItem::OnGetClipboardData

Volá se rozhraním pro získání objektu COleDataSource obsahujícího všechna data, která by byla umístěna do schránky voláním CopyToClipboard nebo DoDragDrop členské funkce.

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

Parametry

bIncludeLink
Pokud by se data propojení měla zkopírovat do schránky, nastavte na hodnotu TRUE. Tuto hodnotu nastavte na FALSE, pokud serverová aplikace nepodporuje odkazy.

lpOffset
Ukazatel na posun kurzoru myši od počátku objektu v pixelech.

lpSize
Ukazatel na velikost objektu v pixelech.

Návratová hodnota

Ukazatel na objekt COleDataSource obsahující data schránky.

Poznámky

Výchozí implementace této funkce volá GetClipboardData.

COleClientItem::OnGetClipRect

Architektura volá členovou OnGetClipRect funkci, aby získala souřadnice obdélníku výřezu položky, která se upravuje na místě.

virtual void OnGetClipRect(CRect& rClipRect);

Parametry

rClipRect
Ukazatel na objekt třídy CRect, který bude obsahovat výřez-obdélník souřadnice položky.

Poznámky

Souřadnice jsou v pixelech vzhledem k klientské oblasti okna aplikace kontejneru.

Výchozí implementace jednoduše vrátí obdélník klienta zobrazení, na kterém je položka aktivní.

COleClientItem::OnGetItemPosition

Architektura volá OnGetItemPosition členovu funkci, aby získala souřadnice položky, která se upravuje.

virtual void OnGetItemPosition(CRect& rPosition);

Parametry

rPosition
Odkaz na objekt CRect, který bude obsahovat souřadnice pozice položky.

Poznámky

Souřadnice jsou v pixelech vzhledem k klientské oblasti okna aplikace kontejneru.

Výchozí implementace této funkce nic nedělá. Aplikace, které podporují místní úpravy, vyžadují její implementaci.

COleClientItem::OnGetWindowContext

Volá se rozhraním při aktivaci položky.

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

Parametry

ppMainFrame
Ukazatel na ukazatel na okno hlavního rámce.

ppDocFrame
Ukazatel myši na ukazatel na okno rámečku dokumentu

lpFrameInfo
Ukazatel na strukturu OLEINPLACEFRAMEINFO , která obdrží informace o okně rámce.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tato funkce slouží k načtení informací o nadřazeném okně položky OLE.

Pokud je kontejner aplikace MDI, výchozí implementace vrátí ukazatel na CMDIFrameWnd objekt v ppMainFrame a ukazatel na aktivní CMDIChildWnd objekt v ppDocFrame. Pokud je kontejner aplikace SDI, výchozí implementace vrátí ukazatel na CFrameWnd objekt v ppMainFrame a vrátí hodnotu NULL v ppDocFrame. Výchozí implementace také vyplní členy lpFrameInfo.

Tuto funkci přepsat pouze v případě, že výchozí implementace nevyhovuje vaší aplikaci; Pokud má vaše aplikace například paradigma uživatelského rozhraní, které se liší od rozhraní SDI nebo MDI. Jedná se o pokročilý přepis.

Další informace naleznete v tématu IOleInPlaceSite::GetWindowContext a OLEINPLACEFRAMEINFO struktury v sadě Windows SDK.

COleClientItem::OnInsertMenus

Volá se rozhraním během místní aktivace, aby se nabídky kontejnerové aplikace vložily do prázdné nabídky.

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

Parametry

pMenuShared
Odkazuje na prázdnou nabídku.

lpMenuWidths
Odkazuje na matici šesti hodnot LONG označujících, kolik nabídek se nachází v každé z následujících skupin nabídek: Soubor, Upravit, Kontejner, Objekt, Okno, Nápověda. Aplikace kontejneru zodpovídá za skupiny nabídek Soubor, Kontejner a Okno odpovídající prvkům 0, 2 a 4 tohoto pole.

Poznámky

Tato nabídka se pak předá serveru, který vloží vlastní nabídky a vytvoří složenou nabídku. Tuto funkci lze volat opakovaně, aby se vytvořilo několik složených nabídek.

Výchozí implementace se vloží do pMenuShared místní nabídky kontejneru; to znamená, soubor, kontejner a okna skupiny nabídek. CDocTemplate::SetContainerInfo slouží k nastavení tohoto prostředku nabídky. Výchozí implementace také přiřadí příslušné hodnoty prvkům 0, 2 a 4 v lpMenuWidths v závislosti na prostředku nabídky. Tuto funkci přepište, pokud výchozí implementace není vhodná pro vaši aplikaci; Pokud například vaše aplikace nepoužívá šablony dokumentů pro přidružení prostředků k typům dokumentů. Pokud tuto funkci přepíšete, měli byste také přepsat OnSetMenu a OnRemoveMenus. Jedná se o pokročilý přepis.

Další informace naleznete v tématu IOleInPlaceFrame::InsertMenus v sadě Windows SDK.

COleClientItem::OnRemoveMenus

Zavolá se rozhraním pro odebrání nabídek kontejneru z zadané složené nabídky při ukončení místní aktivace.

virtual void OnRemoveMenus(CMenu* pMenuShared);

Parametry

pMenuShared
Odkazuje na složenou nabídku sestavenou voláním členské funkce OnInsertMenus .

Poznámky

Výchozí implementace odebere z pMenuShared místní nabídky kontejneru, tj. Soubor, kontejner a skupiny nabídek okna. Tuto funkci přepište, pokud výchozí implementace není vhodná pro vaši aplikaci; Pokud například vaše aplikace nepoužívá šablony dokumentů pro přidružení prostředků k typům dokumentů. Pokud tuto funkci přepíšete, měli byste také přepsat OnInsertMenus a OnSetMenu . Jedná se o pokročilý přepis.

Podnabídka na pMenuShared může být sdílena více než jednou složenou nabídkou, pokud server opakovaně volal OnInsertMenus. Proto byste neměli odstranit žádné podnabídky v přepsání OnRemoveMenus; měli byste je odpojit pouze.

Další informace naleznete v tématu IOleInPlaceFrame::RemoveMenus v sadě Windows SDK.

COleClientItem::OnScrollBy

Volá se rozhraním pro posouvání položky OLE v reakci na požadavky ze serveru.

virtual BOOL OnScrollBy(CSize sizeExtent);

Parametry

sizeExtent
Určuje vzdálenosti v pixelech, které se mají posunout směrem x a y.

Návratová hodnota

Nenulové, pokud byla položka posunována; 0, pokud položku nelze posunout.

Poznámky

Pokud je například položka OLE částečně viditelná a uživatel se při provádění místních úprav přesune mimo viditelnou oblast, volá se tato funkce, aby byl kurzor viditelný. Výchozí implementace nic nedělá. Přepište tuto funkci tak, aby se položka posoula o zadanou částku. Všimněte si, že v důsledku posouvání se může změnit viditelná část položky OLE. Volání SetItemRects pro aktualizaci viditelného obdélníku položky.

Další informace naleznete v tématu IOleInPlaceSite::Scroll v sadě Windows SDK.

COleClientItem::OnSetMenu

Volá se architekturou dvakrát při zahájení a ukončení místní aktivace; při první instalaci složené nabídky a druhé (s dírou rovnou NULL) ji odeberete.

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

Parametry

pMenuShared
Ukazatel na složenou nabídku sestavenou voláním členské funkce OnInsertMenus a InsertMenu funkce.

holemenu
Popisovač nabídky vrácený OleCreateMenuDescriptor funkcí nebo null, pokud je kód odeslání odebrán.

hwndActiveObject
Úchyt pro okno pro úpravy položky OLE. Toto je okno, které bude přijímat příkazy pro úpravy z OLE.

Poznámky

Výchozí implementace nainstaluje nebo odebere složenou nabídku a potom volá funkci OleSetMenuDescriptor pro instalaci nebo odebrání kódu odesílání. Tuto funkci přepište, pokud výchozí implementace není vhodná pro vaši aplikaci. Pokud tuto funkci přepíšete, měli byste pravděpodobně přepsat i OnInsertMenus a OnRemoveMenus . Jedná se o pokročilý přepis.

Další informace naleznete v tématu OleCreateMenuDescriptor, OleSetMenuDescriptor a IOleInPlaceFrame::SetMenu v sadě Windows SDK.

COleClientItem::OnShowControlBars

Volal rozhraní k zobrazení a skrytí řídicích panelů aplikace kontejneru.

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

Parametry

pFrameWnd
Ukazatel na okno rámce aplikace kontejneru Může se jednat o okno hlavního rámce nebo podřízené okno MDI.

BShow
Určuje, jestli se mají řídicí pruhy zobrazit nebo skrýt.

Návratová hodnota

Nenulové, pokud volání funkce způsobí změnu ve stavu řídicích pruhů; 0, pokud volání způsobí žádnou změnu nebo pokud pFrameWnd neodkazuje na okno rámce kontejneru.

Poznámky

Tato funkce vrátí hodnotu 0, pokud jsou řídicí pruhy již ve stavu určeném nástrojem bShow. K tomu může dojít například v případě, že jsou ovládací panely skryté a bShow je FALSE.

Výchozí implementace odebere panel nástrojů z okna rámce nejvyšší úrovně.

COleClientItem::OnShowItem

Volá se rozhraním pro zobrazení položky OLE, takže je zcela viditelné během úprav.

virtual void OnShowItem();

Poznámky

Používá se, když vaše aplikace kontejneru podporuje odkazy na vložené položky (to znamená, pokud jste odvozeni třídu dokumentu z COleLinkingDoc). Tato funkce se volá při místní aktivaci nebo když je položka OLE zdrojem propojení a uživatel ji chce upravit. Výchozí implementace aktivuje první zobrazení v dokumentu kontejneru. Přepište tuto funkci tak, aby se dokument posouvat tak, aby byla položka OLE viditelná.

COleClientItem::OnUpdateFrameTitle

Volá se rozhraním během místní aktivace, aby se aktualizoval záhlaví okna rámečku.

virtual BOOL OnUpdateFrameTitle();

Návratová hodnota

Nenulové, pokud tato funkce úspěšně aktualizovala název rámce, jinak nula.

Poznámky

Výchozí implementace nezmění název okna rámce. Tuto funkci přepište, pokud chcete pro aplikaci použít jiný název rámce, například "položka serverové aplikace - v názvu dokumentu" (například "Microsoft Excel – tabulka v REPORT.DOC"). Jedná se o pokročilý přepis.

COleClientItem::ReactivateAndUndo

Voláním této funkce znovu aktivujte položku OLE a vraťte zpět poslední operaci provedenou uživatelem během místních úprav.

BOOL ReactivateAndUndo();

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Pokud vaše aplikace kontejneru podporuje příkaz zpět, zavolejte tuto funkci, pokud uživatel zvolí příkaz zpět ihned po deaktivaci položky OLE.

Pokud je serverová aplikace napsaná pomocí knihoven tříd Microsoft Foundation, tato funkce způsobí, že server zavolá COleServerDoc::OnReactivateAndUndo.

Další informace naleznete v tématu IOleInPlaceObject::ReactivateAndUndo v sadě Windows SDK.

COleClientItem::Release

Voláním této funkce vyčistíte prostředky používané položkou OLE.

virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);

Parametry

dwCloseOption
Příznak určující, za jakých okolností je položka OLE uložena při návratu do načteného stavu. Seznam možných hodnot najdete v tématu COleClientItem::Close.

Poznámky

Release je volána COleClientItem destruktoru.

Další informace najdete v tématu IUnknown::Release v sadě Windows SDK.

COleClientItem::Reload

Zavře a znovu načte položku.

BOOL Reload();

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Reload Volání funkce po aktivaci položky jako položky jiného typu voláním ActivateAs.

COleClientItem::Run

Spustí aplikaci přidruženou k této položce.

void Run();

Poznámky

Run Před aktivací položky zavolejte členovu funkci, aby se spustila serverová aplikace. To se provádí automaticky pomocí funkce Activate a DoVerb, takže obvykle není nutné tuto funkci volat. Tuto funkci zavolejte, pokud je nutné spustit server, aby bylo možné nastavit atribut položky, například SetExtent, před spuštěním DoVerb.

COleClientItem::SetDrawAspect

Voláním SetDrawAspect členské funkce nastavíte "aspekt" nebo zobrazení položky.

virtual void SetDrawAspect(DVASPECT nDrawAspect);

Parametry

nDrawAspect
Hodnota z výčtu DVASPECT. Tento parametr může mít jednu z následujících hodnot:

  • DVASPECT_CONTENT Položka je reprezentována způsobem, který lze zobrazit jako vložený objekt uvnitř kontejneru.

  • DVASPECT_THUMBNAIL Položka se vykreslí v reprezentaci miniatury, aby ji bylo možné zobrazit v nástroji pro procházení.

  • DVASPECT_ICON Položka je reprezentována ikonou.

  • DVASPECT_DOCPRINT Položka je reprezentována tak, jako kdyby byla vytištěna pomocí příkazu Tisk z nabídky Soubor.

Poznámky

Aspekt určuje, jak se má položka vykreslit pomocí funkce Draw , když se použije výchozí hodnota argumentu nDrawAspect dané funkce.

Tato funkce se volá automaticky pomocí ikony Change (a dalších dialogových oken, která přímo volají dialogové okno Změnit ikonu), aby bylo možné povolit ikonický aspekt zobrazení při vyžádání uživatelem.

COleClientItem::SetExtent

Voláním této funkce určíte, kolik místa je k dispozici pro položku OLE.

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

Parametry

velikost
Objekt CSize , který obsahuje informace o velikosti.

nDrawAspect
Určuje aspekt položky OLE, jejíž hranice mají být nastaveny. Možné hodnoty naleznete v tématu SetDrawAspect.

Poznámky

Pokud byla serverová aplikace zapsána pomocí knihovny tříd Microsoft Foundation, způsobí to, že je volána členská funkce OnSetExtent odpovídajícího COleServerItem objektu. Položka OLE pak může odpovídajícím způsobem upravit jeho zobrazení. Rozměry musí být v MM_HIMETRIC jednotkách. Tuto funkci zavolejte, když uživatel změní velikost položky OLE nebo pokud podporujete nějakou formu vyjednávání rozložení.

Další informace naleznete v tématu IOleObject::SetExtent v sadě Windows SDK.

COleClientItem::SetHostNames

Voláním této funkce zadáte název aplikace kontejneru a název kontejneru pro vloženou položku OLE.

void SetHostNames(
    LPCTSTR lpszHost,
    LPCTSTR lpszHostObj);

Parametry

lpszHost
Ukazatel na uživatelem viditelný název aplikace kontejneru.

lpszHostObj
Ukazatel na identifikační řetězec kontejneru, který obsahuje položku OLE.

Poznámky

Pokud byla serverová aplikace zapsána pomocí knihovny tříd Microsoft Foundation, tato funkce volá členovou funkci COleServerDoc OnSetHostNames dokumentu, která obsahuje položku OLE. Tyto informace se používají v názvech oken při úpravě položky OLE. Při každém načtení dokumentu kontejneru volá architektura tuto funkci pro všechny položky OLE v dokumentu. SetHostNames se vztahuje pouze na vložené položky. Tuto funkci není nutné volat pokaždé, když je aktivována vložená položka OLE pro úpravy.

To se také volá automaticky s názvem aplikace a názvem dokumentu při načtení objektu nebo při uložení souboru pod jiným názvem. Proto není obvykle nutné tuto funkci volat přímo.

Další informace naleznete v tématu IOleObject::SetHostNames v sadě Windows SDK.

COleClientItem::SetIconicMetafile

Ukládá metasoubor použitý k vykreslení ikony položky.

BOOL SetIconicMetafile(HGLOBAL hMetaPict);

Parametry

hMetaPict
Popisovač metasouboru, který se používá k vykreslení ikony položky.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

K načtení metasouboru použijte GetIconicMetafile .

Do položky se zkopíruje parametr hMetaPict , proto volající musí uvolnit hMetaPict .

COleClientItem::SetItemRects

Voláním této funkce nastavíte ohraničující obdélník nebo viditelný obdélník položky OLE.

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

Parametry

lprcPosRect
Ukazatel na obdélník obsahující hranice položky OLE vzhledem k nadřazeným oknem v souřadnicích klienta.

lprcClipRect
Ukazatel na obdélník obsahující hranici viditelné části položky OLE vzhledem k nadřazeným oknem v souřadnicích klienta.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak, 0.

Poznámky

Tato funkce je volána výchozí implementací OnChangeItemPosition členské funkce. Tuto funkci byste měli volat vždy, když se změní pozice nebo viditelná část položky OLE. Obvykle to znamená, že ho voláte z členských funkcí OnSize a OnScrollBy zobrazení.

Další informace naleznete v tématu IOleInPlaceObject::SetObjectRects v sadě Windows SDK.

COleClientItem::SetLinkUpdateOptions

Voláním této funkce nastavíte možnost link-update pro prezentaci zadané propojené položky.

void SetLinkUpdateOptions(OLEUPDATE dwUpdateOpt);

Parametry

dwUpdateOpt
Hodnota možnosti aktualizace propojení pro tuto položku. Tato hodnota musí být jedna z následujících hodnot:

  • OLEUPDATE_ALWAYS aktualizovat propojenou položku, kdykoli je to možné. Tato možnost podporuje přepínač Automatické aktualizace propojení v dialogovém okně Odkazy.

  • OLEUPDATE_ONCALL aktualizovat propojenou položku pouze na žádost z aplikace kontejneru (pokud je volána členová funkce UpdateLink ). Tato možnost podporuje přepínač Ruční aktualizace propojení v dialogovém okně Odkazy.

Poznámky

Obvykle byste neměli měnit možnosti aktualizace vybrané uživatelem v dialogovém okně Odkazy.

Další informace naleznete v tématu IOleLink::SetUpdateOptions v sadě Windows SDK.

COleClientItem::SetPrintDevice

Voláním této funkce změníte zařízení cíle tisku pro tuto položku.

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

Parametry

Ptd
Ukazatel na datovou strukturu DVTARGETDEVICE , která obsahuje informace o novém tiskovém cílovém zařízení. Může mít hodnotu NULL.

Ppd
Ukazatel na datovou strukturu PRINTDLG , která obsahuje informace o novém tiskovém cílovém zařízení. Může mít hodnotu NULL.

Návratová hodnota

Nenulové, pokud byla funkce úspěšná; jinak 0.

Poznámky

Tato funkce aktualizuje tiskové cílové zařízení pro položku, ale neaktualizuje mezipaměť prezentace. Pokud chcete aktualizovat mezipaměť prezentace pro položku, zavolejte UpdateLink.

Argumenty této funkce obsahují informace, které systém OLE používá k identifikaci cílového zařízení. Struktura PRINTDLG obsahuje informace, které systém Windows používá k inicializaci společného dialogového okna Tisk. Po zavření dialogového okna systém Windows vrátí informace o výběru uživatele v této struktuře. Člen m_pd CPrintDialog objektu PRINTDLG je struktura.

Další informace o této struktuře naleznete v tématu PRINTDLG v sadě Windows SDK.

Další informace naleznete v tématu DVTARGETDEVICE v sadě Windows SDK.

Voláním této funkce lze okamžitě aktualizovat prezentační data položky OLE.

BOOL UpdateLink();

Návratová hodnota

Nenulové při úspěchu; jinak 0.

Poznámky

U propojených položek funkce najde zdroj propojení pro získání nové prezentace pro položku OLE. Tento proces může zahrnovat spuštění jedné nebo více serverových aplikací, což může být časově náročné. U vložených položek funguje funkce rekurzivně a kontroluje, jestli vložená položka obsahuje odkazy, které můžou být zastaralé, a aktualizují je. Uživatel může také ručně aktualizovat jednotlivé odkazy pomocí dialogového okna Odkazy.

Další informace naleznete v tématu IOleLink::Update v sadě Windows SDK.

Viz také

MFC – ukázka MFCBIND
MFC – ukázka OCLIENT
CDocItem – třída
Graf hierarchie
COleServerItem – třída