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
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.
COleClientItem::CanPasteLink
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é CopyToClipboard
nabízí . Tyto formáty umístěte do objektu COleDataSource
před nebo po volání CopyToClipboard
a 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
, activeState
nebo 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.
COleClientItem::UpdateLink
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