Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Definierar containergränssnittet till OLE-objekt.
Syntax
class COleClientItem : public CDocItem
Medlemmar
Offentliga konstruktorer
| Namn | Beskrivning |
|---|---|
| COleClientItem::COleClientItem | Konstruerar ett COleClientItem objekt. |
Offentliga metoder
| Namn | Beskrivning |
|---|---|
| COleClientItem::Activate | Öppnar OLE-objektet för en åtgärd och kör sedan det angivna verbet. |
| COleClientItem::ActivateAs | Aktiverar objektet som en annan typ. |
| COleClientItem::AttachDataObject | Kommer åt data i OLE-objektet. |
| COleClientItem::CanCreateFromData | Anger om ett containerprogram kan skapa ett inbäddat objekt. |
| COleClientItem::CanCreateLinkFromData | Anger om ett containerprogram kan skapa ett länkat objekt. |
| COleClientItem::CanPaste | Anger om Urklipp innehåller ett inbäddningsbart eller statiskt OLE-objekt. |
| COleClientItem::CanPasteLink | Anger om Urklipp innehåller ett länkbart OLE-objekt. |
| COleClientItem::Close | Stänger en länk till en server men förstör inte OLE-objektet. |
| COleClientItem::ConvertTo | Konverterar objektet till en annan typ. |
| COleClientItem::CopyToClipboard | Kopierar OLE-objektet till Urklipp. |
| COleClientItem::CreateCloneFrom | Skapar en dubblett av ett befintligt objekt. |
| COleClientItem::CreateFromClipboard | Skapar ett inbäddat objekt från Urklipp. |
| COleClientItem::CreateFromData | Skapar ett inbäddat objekt från ett dataobjekt. |
| COleClientItem::CreateFromFile | Skapar ett inbäddat objekt från en fil. |
| COleClientItem::CreateLinkFromClipboard | Skapar ett länkat objekt från Urklipp. |
| COleClientItem::CreateLinkFromData | Skapar ett länkat objekt från ett dataobjekt. |
| COleClientItem::CreateLinkFromFile | Skapar ett länkat objekt från en fil. |
| COleClientItem::CreateNewItem | Skapar ett nytt inbäddat objekt genom att starta serverprogrammet. |
| COleClientItem::CreateStaticFromClipboard | Skapar ett statiskt objekt från Urklipp. |
| COleClientItem::CreateStaticFromData | Skapar ett statiskt objekt från ett dataobjekt. |
| COleClientItem::D aktivera | Inaktiverar objektet. |
| COleClientItem::D eactivateUI | Återställer containerprogrammets användargränssnitt till sitt ursprungliga tillstånd. |
| COleClientItem::D elete | Tar bort eller stänger OLE-objektet om det var ett länkat objekt. |
| COleClientItem::D oDragDrop | Utför en dra och släpp-åtgärd. |
| COleClientItem::D oVerb | Kör det angivna verbet. |
| COleClientItem::D raw | Ritar OLE-objektet. |
| COleClientItem::GetActiveView | Hämtar vyn där objektet är aktiverat på plats. |
| COleClientItem::GetCachedExtent | Returnerar gränserna för OLE-objektets rektangel. |
| COleClientItem::GetClassID | Hämtar det aktuella objektets klass-ID. |
| COleClientItem::GetClipboardData | Hämtar de data som skulle placeras i Urklipp genom att anropa CopyToClipboard medlemsfunktionen. |
| COleClientItem::GetDocument | Returnerar objektet COleDocument som innehåller det aktuella objektet. |
| COleClientItem::GetDrawAspect | Hämtar objektets aktuella vy för återgivning. |
| COleClientItem::GetExtent | Returnerar gränserna för OLE-objektets rektangel. |
| COleClientItem::GetIconFromRegistry | Hämtar ett handtag till en ikon som är associerad med servern för ett visst CLSID. |
| COleClientItem::GetIconicMetafile | Hämtar metafilen som används för att rita objektets ikon. |
| COleClientItem::GetInPlaceWindow | Returnerar en pekare till objektets redigeringsfönster på plats. |
| COleClientItem::GetItemState | Hämtar objektets aktuella tillstånd. |
| COleClientItem::GetLastStatus | Returnerar status för den senaste OLE-åtgärden. |
| COleClientItem::GetLinkUpdateOptions | Returnerar uppdateringsläget för ett länkat objekt (avancerad funktion). |
| COleClientItem::GetType | Returnerar typen (inbäddad, länkad eller statisk) för OLE-objektet. |
| COleClientItem::GetUserType | Hämtar en sträng som beskriver objektets typ. |
| COleClientItem::IsInPlaceActive | Returnerar TRUE om objektet är aktivt på plats. |
| COleClientItem::IsLinkUpToDate | Returnerar TRUE om ett länkat objekt är uppdaterat med sitt källdokument. |
| COleClientItem::IsModified | Returnerar TRUE om objektet har ändrats sedan det senast sparades. |
| COleClientItem::IsOpen | Returnerar TRUE om objektet för närvarande är öppet i serverprogrammet. |
| COleClientItem::IsRunning | Returnerar TRUE om objektets serverprogram körs. |
| COleClientItem::OnActivate | Anropas av ramverket för att meddela objektet att det är aktiverat. |
| COleClientItem::OnActivateUI | Anropas av ramverket för att meddela objektet att det är aktiverat och bör visa sitt användargränssnitt. |
| COleClientItem::OnChange | Anropas när servern ändrar OLE-objektet. Implementering krävs. |
| COleClientItem::OnDeactivate | Anropas av ramverket när ett objekt inaktiveras. |
| COleClientItem::OnDeactivateUI | Anropas av ramverket när servern har tagit bort sitt användargränssnitt på plats. |
| COleClientItem::OnGetClipboardData | Anropas av ramverket för att hämta data som ska kopieras till Urklipp. |
| COleClientItem::OnInsertMenus | Anropas av ramverket för att skapa en sammansatt meny. |
| COleClientItem::OnRemoveMenus | Anropas av ramverket för att ta bort containerns menyer från en sammansatt meny. |
| COleClientItem::OnSetMenu | Anropas av ramverket för att installera och ta bort en sammansatt meny. |
| COleClientItem::OnShowControlBars | Anropas av ramverket för att visa och dölja kontrollstaplar. |
| COleClientItem::OnUpdateFrameTitle | Anropas av ramverket för att uppdatera ramfönstrets namnlist. |
| COleClientItem::ReactivateAndUndo | Reactivates objektet och ångrar den senaste redigeringsåtgärden på plats. |
| COleClientItem::Release | Frigör anslutningen till ett OLE-länkat objekt och stänger det om det var öppet. Förstör inte klientobjektet. |
| COleClientItem::Ladda om | Läser in objektet igen efter ett anrop till ActivateAs. |
| COleClientItem::Run | Kör programmet som är associerat med objektet. |
| COleClientItem::SetDrawAspect | Anger objektets aktuella vy för återgivning. |
| COleClientItem::SetExtent | Anger avgränsningsrektangeln för OLE-objektet. |
| COleClientItem::SetHostNames | Anger namnen som servern visar när ole-objektet redigeras. |
| COleClientItem::SetIconicMetafile | Cachelagrar metafilen som används för att rita objektets ikon. |
| COleClientItem::SetItemRects | Anger objektets rektangel för avgränsning. |
| COleClientItem::SetLinkUpdateOptions | Anger uppdateringsläget för ett länkat objekt (avancerad funktion). |
| COleClientItem::SetPrintDevice | Anger utskriftsmålenheten för det här klientobjektet. |
| COleClientItem::UpdateLink | Uppdaterar presentationscache för ett objekt. |
Skyddade metoder
| Namn | Beskrivning |
|---|---|
| COleClientItem::CanActivate | Anropas av ramverket för att avgöra om aktivering på plats tillåts. |
| COleClientItem::OnChangeItemPosition | Anropas av ramverket när ett objekts position ändras. |
| COleClientItem::OnDeactivateAndUndo | Anropas av ramverket för att ångra efter aktivering. |
| COleClientItem::OnDiscardUndoState | Anropas av ramverket för att ignorera objektets ångra tillståndsinformation. |
| COleClientItem::OnGetClipRect | Anropas av ramverket för att hämta objektets koordinater för urklippsrektangeln. |
| COleClientItem::OnGetItemPosition | Anropas av ramverket för att hämta objektets position i förhållande till vyn. |
| COleClientItem::OnGetWindowContext | Anropas av ramverket när ett objekt aktiveras på plats. |
| COleClientItem::OnScrollBy | Anropas av ramverket för att rulla objektet i vyn. |
| COleClientItem::OnShowItem | Anropas av ramverket för att visa OLE-objektet. |
Anmärkningar
Ett OLE-objekt representerar data som skapats och underhålls av ett serverprogram, som kan "sömlöst" införlivas i ett dokument så att det verkar som om användaren är ett enda dokument. Resultatet är ett "sammansatt dokument" som består av OLE-objektet och ett innehållande dokument.
Ett OLE-objekt kan antingen bäddas in eller länkas. Om den är inbäddad lagras dess data som en del av det sammansatta dokumentet. Om den är länkad lagras dess data som en del av en separat fil som skapats av serverprogrammet, och endast en länk till filen lagras i det sammansatta dokumentet. Alla OLE-objekt innehåller information som anger det serverprogram som ska anropas för att redigera dem.
COleClientItem definierar flera åsidosättningsbara funktioner som anropas som svar på begäranden från serverprogrammet. dessa översidosätts vanligtvis som meddelanden. Detta gör att serverprogrammet kan informera containern om ändringar som användaren gör när han eller hon redigerar OLE-objektet, eller för att hämta information som behövs under redigeringen.
COleClientItem kan användas med klassen COleDocument, COleLinkingDoc eller COleServerDoc . Om du vill använda COleClientItemhärleder du en klass från den och implementerar medlemsfunktionen OnChange , som definierar hur containern svarar på ändringar som gjorts i objektet. Om du vill stödja aktivering på plats åsidosätter du medlemsfunktionen OnGetItemPosition . Den här funktionen innehåller information om ole-objektets position.
Mer information om hur du använder containergränssnittet finns i artiklarna Containrar: Implementera en container och aktivering.
Anmärkning
Windows SDK refererar till inbäddade och länkade objekt som "objekt" och refererar till typer av objekt som "klasser". Den här referensen använder termen "item" för att skilja OLE-entiteten från motsvarande C++-objekt och termen "typ" för att skilja OLE-kategorin från klassen C++.
Arvshierarki
COleClientItem
Kravspecifikation
rubrik: afxole.h
COleClientItem::Activate
Anropa den här funktionen för att köra det angivna verbet i stället för DoVerb så att du kan utföra din egen bearbetning när ett undantag utlöses.
void Activate(
LONG nVerb,
CView* pView,
LPMSG lpMsg = NULL);
Parameterar
nVerb
Anger verbet som ska köras. Det kan vara något av följande:
| Värde | Innebörd | Symbol |
|---|---|---|
| 0– | Primärt verb | OLEIVERB_PRIMARY |
| - 1 | Sekundärt verb | (Ingen) |
| - 1 | Visningsobjekt för redigering | OLEIVERB_SHOW |
| - 2 | Redigera objekt i ett separat fönster | OLEIVERB_OPEN |
| - 3 | Dölj objekt | OLEIVERB_HIDE |
Värdet -1 är vanligtvis ett alias för ett annat verb. Om öppen redigering inte stöds har -2 samma effekt som -1. Ytterligare värden finns i IOleObject::D oVerb i Windows SDK.
pView
Pekare till containervyfönstret som innehåller OLE-objektet. Detta används av serverprogrammet för aktivering på plats. Den här parametern ska vara NULL om containern inte stöder aktivering på plats.
lpMsg
Pekare till meddelandet som gjorde att objektet aktiverades.
Anmärkningar
Om serverprogrammet skrevs med hjälp av Microsoft Foundation-klassbiblioteket gör den här funktionen att ondoverb-medlemsfunktionen för motsvarande COleServerItem objekt körs.
Om det primära verbet är Redigera och noll anges i parametern nVerb startas serverprogrammet så att OLE-objektet kan redigeras. Om containerprogrammet stöder aktivering på plats kan redigering göras på plats. Om containern inte stöder aktivering på plats (eller om öppna verb har angetts) startas servern i ett separat fönster och redigering kan göras där. När användaren av containerprogrammet dubbelklickar på OLE-objektet avgör vanligtvis värdet för det primära verbet i parametern nVerb vilken åtgärd användaren kan vidta. Men om servern bara stöder en åtgärd vidtar den åtgärden, oavsett vilket värde som anges i parametern nVerb .
Mer information finns i IOleObject::D oVerb i Windows SDK.
COleClientItem::ActivateAs
Använder OLE:s objektkonverteringsanläggningar för att aktivera objektet som om det vore ett objekt av den typ som angetts av clsidNew.
virtual BOOL ActivateAs(
LPCTSTR lpszUserType,
REFCLSID clsidOld,
REFCLSID clsidNew);
Parameterar
lpszUserType
Pekare till en sträng som representerar målanvändarens typ, till exempel "Word-dokument".
clsidOld
En referens till objektets aktuella klass-ID. Klass-ID:t ska representera typen av det faktiska objektet, som lagrat, såvida det inte är en länk. I så fall bör det vara CLSID för det objekt som länken refererar till.
COleConvertDialog tillhandahåller automatiskt rätt klass-ID för objektet.
clsidNy
En referens till målklass-ID:t.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Detta anropas automatiskt av COleConvertDialog::D oConvert. Den anropas vanligtvis inte direkt.
COleClientItem::AttachDataObject
Anropa den här funktionen för att initiera en COleDataObject för åtkomst till data i OLE-objektet.
void AttachDataObject(COleDataObject& rDataObject) const;
Parameterar
rDataObject
Referens till ett COleDataObject objekt som initieras för att tillåta åtkomst till data i OLE-objektet.
COleClientItem::CanActivate
Anropas av ramverket när användaren begär aktivering på plats av OLE-objektet. Den här funktionens returvärde avgör om aktivering på plats tillåts.
virtual BOOL CanActivate();
Returvärde
Nonzero om aktivering på plats tillåts; annars 0.
Anmärkningar
Standardimplementeringen tillåter aktivering på plats om containern har ett giltigt fönster. Åsidosätt den här funktionen för att implementera särskild logik för att acceptera eller neka aktiveringsbegäran. En aktiveringsbegäran kan till exempel nekas om OLE-objektet är för litet eller för närvarande inte visas.
Mer information finns i IOleInPlaceSite::CanInPlaceActivate i Windows SDK.
COleClientItem::CanCreateFromData
Kontrollerar om ett containerprogram kan skapa ett inbäddat objekt från det angivna COleDataObject objektet.
static BOOL PASCAL CanCreateFromData(const COleDataObject* pDataObject);
Parameterar
pDataObject
Pekare till det COleDataObject-objekt som OLE-objektet ska skapas från.
Returvärde
Nonzero om containern kan skapa ett inbäddat objekt från COleDataObject objektet, annars 0.
Anmärkningar
Klassen COleDataObject används i dataöverföringar för att hämta data i olika format från Urklipp, genom att dra och släppa eller från ett inbäddat OLE-objekt.
Containrar kan använda den här funktionen för att aktivera eller inaktivera kommandona Redigera klistra in och Redigera klistra in.
Mer information finns i artikeln Dataobjekt och datakällor (OLE).
COleClientItem::CanCreateLinkFromData
Kontrollerar om ett containerprogram kan skapa ett länkat objekt från det angivna COleDataObject objektet.
static BOOL PASCAL CanCreateLinkFromData(const COleDataObject* pDataObject);
Parameterar
pDataObject
Pekare till det COleDataObject-objekt som OLE-objektet ska skapas från.
Returvärde
Nonzero om containern kan skapa ett länkat objekt från objektet COleDataObject .
Anmärkningar
Klassen COleDataObject används i dataöverföringar för att hämta data i olika format från Urklipp, genom att dra och släppa eller från ett inbäddat OLE-objekt.
Containrar kan använda den här funktionen för att aktivera eller inaktivera kommandona Redigera klistra in special och Redigera klistra in länk.
Mer information finns i artikeln Dataobjekt och datakällor (OLE).
COleClientItem::CanPaste
Anropa den här funktionen för att se om ett inbäddat OLE-objekt kan klistras in från Urklipp.
static BOOL PASCAL CanPaste();
Returvärde
Nonzero om ett inbäddat OLE-objekt kan klistras in från Urklipp. annars 0.
Anmärkningar
Mer information finns i OleGetClipboard och OleQueryCreateFromData i Windows SDK.
COleClientItem::CanPasteLink
Anropa den här funktionen för att se om ett länkat OLE-objekt kan klistras in från Urklipp.
static BOOL PASCAL CanPasteLink();
Returvärde
Nonzero om ett länkat OLE-objekt kan klistras in från Urklipp. annars 0.
Anmärkningar
Mer information finns i OleGetClipboard och OleQueryLinkFromData i Windows SDK.
COleClientItem::Close
Anropa den här funktionen för att ändra tillståndet för ett OLE-objekt från körningstillståndet till det inlästa tillståndet, det vill säga lästs in med dess hanterare i minnet men servern körs inte.
void Close(OLECLOSE dwCloseOption = OLECLOSE_SAVEIFDIRTY);
Parameterar
dwCloseOption
Flagga som anger under vilka omständigheter OLE-objektet sparas när det återgår till det inlästa tillståndet. Den kan ha något av följande värden:
OLECLOSE_SAVEIFDIRTY Spara OLE-objektet.
OLECLOSE_NOSAVE Spara inte OLE-objektet.
OLECLOSE_PROMPTSAVE Fråga användaren om ole-objektet ska sparas.
Anmärkningar
Den här funktionen har ingen effekt när OLE-objektet inte körs.
Mer information finns i IOleObject::Close i Windows SDK.
COleClientItem::COleClientItem
Konstruerar ett COleClientItem objekt och lägger till det i containerdokumentets samling av dokumentobjekt, som endast konstruerar C++-objektet och inte utför någon OLE-initiering.
COleClientItem(COleDocument* pContainerDoc = NULL);
Parameterar
pContainerDoc
Pekare till containerdokumentet som ska innehålla det här objektet. Detta kan vara valfritt COleDocument-derivat .
Anmärkningar
Om du skickar en NULL-pekare görs inget tillägg till containerdokumentet. Du måste uttryckligen anropa COleDocument::AddItem.
Du måste anropa någon av följande medlemsfunktioner innan du använder OLE-objektet:
COleClientItem::ConvertTo
Anropa den här medlemsfunktionen för att konvertera objektet till den typ som anges av clsidNew.
virtual BOOL ConvertTo(REFCLSID clsidNew);
Parameterar
clsidNy
Klass-ID för måltypen.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Detta anropas automatiskt av COleConvertDialog. Det är inte nödvändigt att anropa det direkt.
COleClientItem::CopyToClipboard
Anropa den här funktionen för att kopiera OLE-objektet till Urklipp.
void CopyToClipboard(BOOL bIncludeLink = FALSE);
Parameterar
bIncludeLink
SANT om länkinformation ska kopieras till Urklipp, vilket gör att ett länkat objekt kan klistras in. annars FALSKT.
Anmärkningar
Normalt anropar du den här funktionen när du skriver meddelandehanterare för kommandona Kopiera eller Klipp ut från menyn Redigera. Du måste implementera objektval i containerprogrammet om du vill implementera kommandona Kopiera eller Klipp ut.
Mer information finns i OleSetClipboard i Windows SDK.
COleClientItem::CreateCloneFrom
Anropa den här funktionen för att skapa en kopia av det angivna OLE-objektet.
BOOL CreateCloneFrom(const COleClientItem* pSrcItem);
Parameterar
pSrcItem
Pekare till OLE-objektet som ska dupliceras.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Kopian är identisk med källobjektet. Du kan använda den här funktionen för att stödja ångra-åtgärder.
COleClientItem::CreateFromClipboard
Anropa den här funktionen för att skapa ett inbäddat objekt från innehållet i Urklipp.
BOOL CreateFromClipboard(
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
Parameterar
rendera
Flagga som anger hur servern ska återge OLE-objektet. Möjliga värden finns i OLERENDER i Windows SDK.
cfFormat
Anger det Urklippsdataformat som ska cachelagras när OLE-objektet skapas.
lpFormatEtc
Pekare till en FORMATETC-struktur som används om återgivningen är OLERENDER_FORMAT eller OLERENDER_DRAW. Ange endast ett värde för den här parametern om du vill ange ytterligare formatinformation utöver det Urklippsformat som anges av cfFormat. Om du utelämnar den här parametern används standardvärden för de andra fälten FORMATETC i strukturen.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Du anropar vanligtvis den här funktionen från meddelandehanteraren för kommandot Klistra in på menyn Redigera. (Kommandot Klistra in aktiveras av ramverket om funktionen CanPaste member returnerar nonzero.)
Mer information finns i OLERENDER och FORMATC i Windows SDK.
COleClientItem::CreateFromData
Anropa den här funktionen för att skapa ett inbäddat objekt från ett COleDataObject objekt.
BOOL CreateFromData(
COleDataObject* pDataObject,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
Parameterar
pDataObject
Pekare till det COleDataObject-objekt som OLE-objektet ska skapas från.
rendera
Flagga som anger hur servern ska återge OLE-objektet. Möjliga värden finns i OLERENDER i Windows SDK.
cfFormat
Anger det Urklippsdataformat som ska cachelagras när OLE-objektet skapas.
lpFormatEtc
Pekare till en FORMATETC-struktur som används om återgivningen är OLERENDER_FORMAT eller OLERENDER_DRAW. Ange endast ett värde för den här parametern om du vill ange ytterligare formatinformation utöver det Urklippsformat som anges av cfFormat. Om du utelämnar den här parametern används standardvärden för de andra fälten FORMATETC i strukturen.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Dataöverföringsåtgärder, till exempel klistra in från Urklipp eller dra och släpp-åtgärder, tillhandahåller COleDataObject objekt som innehåller den information som erbjuds av ett serverprogram. Den används vanligtvis i din åsidosättning av CView::OnDrop.
Mer information finns i OleCreateFromData, OLERENDER och FORMATETC i Windows SDK.
COleClientItem::CreateFromFile
Anropa den här funktionen för att skapa ett inbäddat OLE-objekt från en fil.
BOOL CreateFromFile(
LPCTSTR lpszFileName,
REFCLSID clsid = CLSID_NULL,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
Parameterar
lpszFileName
Pekare till namnet på filen som OLE-objektet ska skapas från.
clsid
Reserverad för framtida användning.
rendera
Flagga som anger hur servern ska återge OLE-objektet. Möjliga värden finns i OLERENDER i Windows SDK.
cfFormat
Anger det Urklippsdataformat som ska cachelagras när OLE-objektet skapas.
lpFormatEtc
Pekare till en FORMATETC-struktur som används om återgivningen är OLERENDER_FORMAT eller OLERENDER_DRAW. Ange endast ett värde för den här parametern om du vill ange ytterligare formatinformation utöver det Urklippsformat som anges av cfFormat. Om du utelämnar den här parametern används standardvärden för de andra fälten FORMATETC i strukturen.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Ramverket anropar den här funktionen från COleInsertDialog::CreateItem om användaren väljer OK i dialogrutan Infoga objekt när knappen Skapa från fil är markerad.
Mer information finns i OleCreateFromFile, OLERENDER och FORMATETC i Windows SDK.
COleClientItem::CreateLinkFromClipboard
Anropa den här funktionen för att skapa ett länkat objekt från innehållet i Urklipp.
BOOL CreateLinkFromClipboard(
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
Parameterar
rendera
Flagga som anger hur servern ska återge OLE-objektet. Möjliga värden finns i OLERENDER i Windows SDK.
cfFormat
Anger det Urklippsdataformat som ska cachelagras när OLE-objektet skapas.
lpFormatEtc
Pekare till en FORMATETC-struktur som används om återgivningen är OLERENDER_FORMAT eller OLERENDER_DRAW. Ange endast ett värde för den här parametern om du vill ange ytterligare formatinformation utöver det Urklippsformat som anges av cfFormat. Om du utelämnar den här parametern används standardvärden för de andra fälten FORMATETC i strukturen.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Du anropar vanligtvis den här funktionen från meddelandehanteraren för kommandot Klistra in länk på redigera-menyn. (Kommandot Klistra in länk är aktiverat i standardimplementeringen av COleDocument om Urklipp innehåller ett OLE-objekt som kan länkas till.)
Mer information finns i OLERENDER och FORMATC i Windows SDK.
COleClientItem::CreateLinkFromData
Anropa den här funktionen för att skapa ett länkat objekt från ett COleDataObject objekt.
BOOL CreateLinkFromData(
COleDataObject* pDataObject,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
Parameterar
pDataObject
Pekare till det COleDataObject-objekt som OLE-objektet ska skapas från.
rendera
Flagga som anger hur servern ska återge OLE-objektet. Möjliga värden finns i OLERENDER i Windows SDK.
cfFormat
Anger det Urklippsdataformat som ska cachelagras när OLE-objektet skapas.
lpFormatEtc
Pekare till en FORMATETC-struktur som används om återgivningen är OLERENDER_FORMAT eller OLERENDER_DRAW. Ange endast ett värde för den här parametern om du vill ange ytterligare formatinformation utöver det Urklippsformat som anges av cfFormat. Om du utelämnar den här parametern används standardvärden för de andra fälten FORMATETC i strukturen.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Anropa detta under en släppåtgärd när användaren anger att en länk ska skapas. Den kan också användas för att hantera kommandot Redigera klistra in. Det anropas av ramverket i COleClientItem::CreateLinkFromClipboard och i COlePasteSpecialDialog::CreateItem när alternativet Länk har valts.
Mer information finns i OleCreateLinkFromData, OLERENDER och FORMATETC i Windows SDK.
COleClientItem::CreateLinkFromFile
Anropa den här funktionen för att skapa ett länkat OLE-objekt från en fil.
BOOL CreateLinkFromFile(
LPCTSTR lpszFileName,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
Parameterar
lpszFileName
Pekare till namnet på filen som OLE-objektet ska skapas från.
rendera
Flagga som anger hur servern ska återge OLE-objektet. Möjliga värden finns i OLERENDER i Windows SDK.
cfFormat
Anger det Urklippsdataformat som ska cachelagras när OLE-objektet skapas.
lpFormatEtc
Pekare till en FORMATETC-struktur som används om återgivningen är OLERENDER_FORMAT eller OLERENDER_DRAW. Ange endast ett värde för den här parametern om du vill ange ytterligare formatinformation utöver det Urklippsformat som anges av cfFormat. Om du utelämnar den här parametern används standardvärden för de andra fälten FORMATETC i strukturen.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Ramverket anropar den här funktionen om användaren väljer OK i dialogrutan Infoga objekt när knappen Skapa från fil är markerad och kryssrutan Länk är markerad. Den anropas från COleInsertDialog::CreateItem.
Mer information finns i OleCreateLinkToFile, OLERENDER och FORMATETC i Windows SDK.
COleClientItem::CreateNewItem
Anropa den här funktionen för att skapa ett inbäddat objekt. den här funktionen startar serverprogrammet som gör att användaren kan skapa OLE-objektet.
BOOL CreateNewItem(
REFCLSID clsid,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
Parameterar
clsid
ID som unikt identifierar den typ av OLE-objekt som ska skapas.
rendera
Flagga som anger hur servern ska återge OLE-objektet. Möjliga värden finns i OLERENDER i Windows SDK.
cfFormat
Anger det Urklippsdataformat som ska cachelagras när OLE-objektet skapas.
lpFormatEtc
Pekare till en FORMATETC-struktur som används om återgivningen är OLERENDER_FORMAT eller OLERENDER_DRAW. Ange endast ett värde för den här parametern om du vill ange ytterligare formatinformation utöver det Urklippsformat som anges av cfFormat. Om du utelämnar den här parametern används standardvärden för de andra fälten FORMATETC i strukturen.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Ramverket anropar den här funktionen om användaren väljer OK i dialogrutan Infoga objekt när knappen Skapa ny är markerad.
Mer information finns i OleCreate, OLERENDER och FORMATETC i Windows SDK.
COleClientItem::CreateStaticFromClipboard
Anropa den här funktionen för att skapa ett statiskt objekt från innehållet i Urklipp.
BOOL CreateStaticFromClipboard(
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
Parameterar
rendera
Flagga som anger hur servern ska återge OLE-objektet. Möjliga värden finns i OLERENDER i Windows SDK.
cfFormat
Anger det Urklippsdataformat som ska cachelagras när OLE-objektet skapas.
lpFormatEtc
Pekare till en FORMATETC-struktur som används om återgivningen är OLERENDER_FORMAT eller OLERENDER_DRAW. Ange endast ett värde för den här parametern om du vill ange ytterligare formatinformation utöver det Urklippsformat som anges av cfFormat. Om du utelämnar den här parametern används standardvärden för de andra fälten FORMATETC i strukturen.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Ett statiskt objekt innehåller presentationsdata men inte interna data. Därför kan den inte redigeras. Du anropar vanligtvis den här funktionen om medlemsfunktionen CreateFromClipboard misslyckas.
Mer information finns i OLERENDER och FORMATC i Windows SDK.
COleClientItem::CreateStaticFromData
Anropa den här funktionen för att skapa ett statiskt objekt från ett COleDataObject objekt.
BOOL CreateStaticFromData(
COleDataObject* pDataObject,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
Parameterar
pDataObject
Pekare till det COleDataObject-objekt som OLE-objektet ska skapas från.
rendera
Flagga som anger hur servern ska återge OLE-objektet. Möjliga värden finns i OLERENDER i Windows SDK.
cfFormat
Anger det Urklippsdataformat som ska cachelagras när OLE-objektet skapas.
lpFormatEtc
Pekare till en FORMATETC-struktur som används om återgivningen är OLERENDER_FORMAT eller OLERENDER_DRAW. Ange endast ett värde för den här parametern om du vill ange ytterligare formatinformation utöver det Urklippsformat som anges av cfFormat. Om du utelämnar den här parametern används standardvärden för de andra fälten FORMATETC i strukturen.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Ett statiskt objekt innehåller presentationsdata men inte interna data. Det går därför inte att redigera den. Detta är i stort sett detsamma som CreateStaticFromClipboard förutom att ett statiskt objekt kan skapas från en godtycklig COleDataObject, inte bara från Urklipp.
Används i COlePasteSpecialDialog::CreateItem när Static har valts.
Mer information finns i OleCreateStaticFromData, OLERENDER och FORMATETC i Windows SDK.
COleClientItem::D aktivera
Anropa den här funktionen för att inaktivera OLE-objektet och frigöra eventuella associerade resurser.
void Deactivate();
Anmärkningar
Du inaktiverar vanligtvis ett aktivt OLE-objekt på plats när användaren klickar med musen på klientområdet utanför objektets gränser. Observera att om ole-objektet inaktiveras ignoreras dess ångrade tillstånd, vilket gör det omöjligt att anropa medlemsfunktionen ReactivateAndUndo .
Om programmet stöder ångra anropar Deactivatedu inte . Anropa i stället Inaktivera användargränssnittet.
Mer information finns i IOleInPlaceObject::InPlaceDeactivate i Windows SDK.
COleClientItem::D eactivateUI
Anropa den här funktionen när användaren inaktiverar ett objekt som har aktiverats på plats.
void DeactivateUI();
Anmärkningar
Den här funktionen återställer containerprogrammets användargränssnitt till sitt ursprungliga tillstånd och döljer alla menyer och andra kontroller som har skapats för aktivering på plats.
Den här funktionen rensar inte informationen om att ångra tillstånd för objektet. Den informationen behålls så att ReactivateAndUndo senare kan användas för att köra ett ångra-kommando i serverprogrammet, om containerns ångra-kommando väljs omedelbart efter att objektet har inaktiverats.
Mer information finns i IOleInPlaceObject::InPlaceDeactivate i Windows SDK.
COleClientItem::D elete
Anropa den här funktionen för att ta bort OLE-objektet från containerdokumentet.
void Delete(BOOL bAutoDelete = TRUE);
Parameterar
bAutoDelete
Anger om objektet ska tas bort från dokumentet.
Anmärkningar
Den här funktionen anropar funktionen Versionsmedlem , som i sin tur tar bort C++-objektet för objektet och permanent tar bort OLE-objektet från dokumentet. Om OLE-objektet är inbäddat tas de interna data för objektet bort. Den stänger alltid en server som körs. Om objektet är en öppen länk stänger den därför den här funktionen.
COleClientItem::D oDragDrop
DoDragDrop Anropa medlemsfunktionen för att utföra en dra och släpp-åtgärd.
DROPEFFECT DoDragDrop(
LPCRECT lpItemRect,
CPoint ptOffset,
BOOL bIncludeLink = FALSE,
DWORD dwEffects = DROPEFFECT_COPY | DROPEFFECT_MOVE,
LPCRECT lpRectStartDrag = NULL);
Parameterar
lpItemRect
Objektets rektangel på skärmen i klientkoordinater (bildpunkter).
ptOffset
Förskjutningen från lpItemRect där muspositionen var vid tidpunkten för dra.
bIncludeLink
Ange TRUE om länkdata ska kopieras till Urklipp. Ställ in den på FALSE om serverprogrammet inte stöder länkar.
dwEffects
Avgör vilka effekter som dragkällan tillåter i dragåtgärden.
lpRectStartDrag
Pekare till rektangeln som definierar var dragningen faktiskt startar. Mer information finns i avsnittet Kommentarer nedan.
Returvärde
Ett DROPEFFECT-värde. Om det är DROPEFFECT_MOVE ska de ursprungliga data tas bort.
Anmärkningar
Dra och släpp-åtgärden startar inte omedelbart. Den väntar tills musmarkören lämnar den rektangel som anges av lpRectStartDrag eller tills ett angivet antal millisekunder har passerat. Om lpRectStartDrag är NULL är rektangelns storlek en pixel.
Fördröjningstiden anges av en registernyckelinställning. Du kan ändra fördröjningstiden genom att anropa CWinApp::WriteProfileString eller CWinApp::WriteProfileInt. Om du inte anger fördröjningstiden används ett standardvärde på 200 millisekunder. Dra fördröjningstiden lagras på följande sätt:
Fördröjningstiden för Windows NT-dra lagras i HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay.
Windows 3.x Dra fördröjningstiden lagras i WIN. INI-fil under avsnittet [Windows}.
Fördröjningstiden för Windows 95/98-dra lagras i en cachelagrad version av WIN. INI.
Mer information om hur information om drad fördröjning lagras i antingen registret eller . INI-fil, se WriteProfileString i Windows SDK.
COleClientItem::D oVerb
Anropa DoVerb för att köra det angivna verbet.
virtual BOOL DoVerb(
LONG nVerb,
CView* pView,
LPMSG lpMsg = NULL);
Parameterar
nVerb
Anger verbet som ska köras. Den kan innehålla något av följande:
| Värde | Innebörd | Symbol |
|---|---|---|
| 0– | Primärt verb | OLEIVERB_PRIMARY |
| - 1 | Sekundärt verb | (Ingen) |
| - 1 | Visningsobjekt för redigering | OLEIVERB_SHOW |
| - 2 | Redigera objekt i ett separat fönster | OLEIVERB_OPEN |
| - 3 | Dölj objekt | OLEIVERB_HIDE |
Värdet -1 är vanligtvis ett alias för ett annat verb. Om öppen redigering inte stöds har -2 samma effekt som -1. Ytterligare värden finns i IOleObject::D oVerb i Windows SDK.
pView
Pekare till visningsfönstret; Detta används av servern för aktivering på plats. Den här parametern ska vara NULL om containerprogrammet inte tillåter aktivering på plats.
lpMsg
Pekare till meddelandet som gjorde att objektet aktiverades.
Returvärde
Nonzero om verbet har körts; annars 0.
Anmärkningar
Den här funktionen anropar funktionen Aktivera medlem för att köra verbet. Det fångar också undantag och visar en meddelanderuta för användaren om en utlöses.
Om det primära verbet är Redigera och noll anges i parametern nVerb startas serverprogrammet så att OLE-objektet kan redigeras. Om containerprogrammet stöder aktivering på plats kan redigering göras på plats. Om containern inte stöder aktivering på plats (eller om öppna verb har angetts) startas servern i ett separat fönster och redigering kan göras där. När användaren av containerprogrammet dubbelklickar på OLE-objektet avgör vanligtvis värdet för det primära verbet i parametern nVerb vilken åtgärd användaren kan vidta. Men om servern bara stöder en åtgärd vidtar den åtgärden, oavsett vilket värde som anges i parametern nVerb .
COleClientItem::D raw
Anropa den här funktionen för att dra OLE-objektet till den angivna avgränsningsrektangeln med den angivna enhetskontexten.
BOOL Draw(
CDC* pDC,
LPCRECT lpBounds,
DVASPECT nDrawAspect = (DVASPECT)-1);
Parameterar
pDC-
Pekare till ett CDC-objekt som används för att rita OLE-objektet.
lpBounds
Pekare till ett CRect-objekt eller RECT en struktur som definierar den avgränsningsrektangel där OLE-objektet ska ritas (i logiska enheter som bestäms av enhetskontexten).
nDrawAspect
Anger aspekten av OLE-objektet, dvs. hur det ska visas. Om nDrawAspect är -1 används den sista aspektuppsättningen med setDrawAspect . Mer information om möjliga värden för den här flaggan finns i SetDrawAspect.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Funktionen kan använda metafilrepresentationen av OLE-objektet som skapats av medlemsfunktionen OnDraw i COleServerItem.
Vanligtvis använder Draw du för skärmvisning och skickar skärmenhetens kontext som pDC. I det här fallet behöver du bara ange de två första parametrarna.
Parametern lpBounds identifierar rektangeln i målenhetskontexten (i förhållande till dess aktuella mappningsläge). Rendering kan innebära skalning av bilden och kan användas av containerprogram för att införa en vy som skalar mellan den visade vyn och den slutliga tryckta bilden.
Mer information finns i IViewObject::D raw i Windows SDK.
COleClientItem::GetActiveView
Returnerar vyn där objektet är aktiverat på plats.
CView* GetActiveView() const;
Returvärde
En pekare till vyn; annars NULL om objektet inte är aktiverat på plats.
COleClientItem::GetCachedExtent
Anropa den här funktionen för att hämta OLE-objektets storlek.
BOOL GetCachedExtent(
LPSIZE lpSize,
DVASPECT nDrawAspect = (DVASPECT)-1);
Parameterar
lpSize
Pekare till en SIZE struktur eller ett CSize-objekt som tar emot storleksinformationen.
nDrawAspect
Anger den aspekt av OLE-objektet vars gränser ska hämtas. Möjliga värden finns i SetDrawAspect.
Returvärde
Nonzero om det lyckas; 0 om OLE-objektet är tomt.
Anmärkningar
Den här funktionen innehåller samma information som GetExtent. Du kan dock anropa GetCachedExtent för att hämta information om omfattningen under bearbetningen av andra OLE-hanterare, till exempel OnChange. Dimensionerna finns i MM_HIMETRIC enheter.
Detta är möjligt eftersom GetCachedExtent använder IViewObject2-gränssnittet i stället för att använda IOleObject-gränssnittet för att hämta omfattningen av det här objektet.
IViewObject2 COM-objektet cachelagrar den omfattningsinformation som användes i föregående anrop till IViewObject::D raw.
Mer information finns i IViewObject2::GetExtent i Windows SDK.
COleClientItem::GetClassID
Returnerar klass-ID för objektet till det minne som pekas på av pClassID.
void GetClassID(CLSID* pClassID) const;
Parameterar
pClassID
Pekare till en identifierare av typen CLSID för att hämta klass-ID:t. Information om CLSID finns i Windows SDK.
Anmärkningar
Klass-ID:t är ett 128-bitarsnummer som unikt identifierar programmet som redigerar objektet.
Mer information finns i IPersist::GetClassID i Windows SDK.
COleClientItem::GetClipboardData
Anropa den här funktionen för att hämta ett COleDataSource objekt som innehåller alla data som skulle placeras i Urklipp med ett anrop till medlemsfunktionen CopyToClipboard .
void GetClipboardData(
COleDataSource* pDataSource,
BOOL bIncludeLink = FALSE,
LPPOINT lpOffset = NULL,
LPSIZE lpSize = NULL);
Parameterar
pDataSource
Pekare till ett COleDataSource-objekt som tar emot data i OLE-objektet.
bIncludeLink
SANT om länkdata ska inkluderas; annars FALSKT.
lpOffset
Förskjutningen av musmarkören från objektets ursprung i bildpunkter.
lpSize
Storleken på objektet i bildpunkter.
Anmärkningar
GetClipboardData anropas som standardimplementering av OnGetClipboardData. Åsidosätt OnGetClipboardData endast om du vill erbjuda dataformat utöver dem som erbjuds av CopyToClipboard. Placera dessa format i objektet före eller efter anropet COleDataSourceCopyToClipboardCOleDataSource och skicka sedan objektet till funktionen COleDataSource::SetClipboard. Om du till exempel vill att OLE-objektets position i containerdokumentet ska medföljer det i Urklipp, definierar du ditt eget format för att skicka den informationen och placera den i innan du COleDataSource anropar CopyToClipboard.
COleClientItem::GetDocument
Anropa den här funktionen för att hämta en pekare till dokumentet som innehåller OLE-objektet.
COleDocument* GetDocument() const;
Returvärde
En pekare till dokumentet som innehåller OLE-objektet. NULL om objektet inte ingår i ett dokument.
Anmärkningar
Den här pekaren ger åtkomst till objektet COleDocument som du skickade som ett argument till COleClientItem konstruktorn.
COleClientItem::GetDrawAspect
GetDrawAspect Anropa medlemsfunktionen för att fastställa aktuell "aspekt" eller vy av objektet.
DVASPECT GetDrawAspect() const;
Returvärde
Ett värde från DVASPECT-uppräkningen, vars värden anges i referensen för SetDrawAspect.
Anmärkningar
Aspekten anger hur objektet ska återges.
COleClientItem::GetExtent
Anropa den här funktionen för att hämta OLE-objektets storlek.
BOOL GetExtent(
LPSIZE lpSize,
DVASPECT nDrawAspect = (DVASPECT)- 1);
Parameterar
lpSize
Pekare till en SIZE struktur eller ett CSize objekt som tar emot storleksinformationen.
nDrawAspect
Anger den aspekt av OLE-objektet vars gränser ska hämtas. Möjliga värden finns i SetDrawAspect.
Returvärde
Nonzero om det lyckas; 0 om OLE-objektet är tomt.
Anmärkningar
Om serverprogrammet skrevs med hjälp av Microsoft Foundation-klassbiblioteket gör den här funktionen att medlemsfunktionen OnGetExtent i motsvarande COleServerItem objekt anropas. Observera att den hämtade storleken kan skilja sig från den storlek som senast angavs av funktionen SetExtent-medlem . den storlek som anges av SetExtent behandlas som ett förslag. Dimensionerna finns i MM_HIMETRIC enheter.
Anmärkning
Anropa GetExtent inte under bearbetningen av en OLE-hanterare, till exempel OnChange. Anropa GetCachedExtent i stället.
Mer information finns i IOleObject::GetExtent i Windows SDK.
COleClientItem::GetIconFromRegistry
Anropa den här medlemsfunktionen för att hämta ett handtag till en ikonresurs som är associerad med servern för ett visst CLSID.
HICON GetIconFromRegistry() const;
static HICON GetIconFromRegistry(CLSID& clsid);
Parameterar
clsid
En referens till CLSID för den server som är associerad med ikonen.
Returvärde
Ett giltigt handtag till ikonresursen, eller NULL om serverns ikon eller en standardikon inte kan hittas.
Anmärkningar
Den här medlemsfunktionen startar inte servern eller hämtar en ikon dynamiskt, även om servern redan körs. I stället öppnar den här medlemsfunktionen serverns körbara avbildning och hämtar den statiska ikonen som är associerad med servern när den registrerades.
COleClientItem::GetIconicMetafile
Hämtar metafilen som används för att rita objektets ikon.
HGLOBAL GetIconicMetafile();
Returvärde
Ett handtag till metafilen om det lyckas. annars NULL.
Anmärkningar
Om det inte finns någon aktuell ikon returneras en standardikon. Detta anropas automatiskt av MFC/OLE-dialogrutorna och anropas vanligtvis inte direkt.
Den här funktionen anropar också SetIconicMetafile för att cachelagra metafilen för senare användning.
COleClientItem::GetInPlaceWindow
GetInPlaceWindow Anropa medlemsfunktionen för att hämta en pekare till fönstret där objektet har öppnats för redigering på plats.
CWnd* GetInPlaceWindow();
Returvärde
En pekare till objektets redigeringsfönster på plats. NULL om objektet inte är aktivt eller om dess server inte är tillgänglig.
Anmärkningar
Den här funktionen ska bara anropas för objekt som är aktiva på plats.
COleClientItem::GetItemState
Anropa den här funktionen för att hämta OLE-objektets aktuella tillstånd.
UINT GetItemState() const;
Returvärde
Ett COleClientItem::ItemState uppräknat värde som kan vara något av följande: emptyState, , loadedStateopenState, , activeState, activeUIState. Information om dessa tillstånd finns i artikeln Containrar: Client-Item tillstånd.
Anmärkningar
Om du vill få ett meddelande när OLE-objektets tillstånd ändras använder du funktionen OnChange-medlem .
Mer information finns i artikeln Containrar: Client-Item tillstånd.
COleClientItem::GetLastStatus
Returnerar statuskoden för den senaste OLE-åtgärden.
SCODE GetLastStatus() const;
Returvärde
Ett SCODE-värde.
Anmärkningar
För medlemsfunktioner som returnerar ett BOOL-värde för FALSE eller andra medlemsfunktioner som returnerar NULL returnerar GetLastStatus mer detaljerad felinformation. Tänk på att de flesta OLE-medlemsfunktioner utlöser undantag för allvarligare fel. Den specifika informationen om tolkningen av SCODE beror på det underliggande OLE-anropet som senast returnerade ett SCODE-värde.
Mer information om SCODE finns i Struktur för COM-felkoder i Windows SDK-dokumentationen.
COleClientItem::GetLinkUpdateOptions
Anropa den här funktionen för att hämta det aktuella värdet för alternativet länkuppdatering för OLE-objektet.
OLEUPDATE GetLinkUpdateOptions();
Returvärde
Något av följande värden:
OLEUPDATE_ALWAYS Uppdatera det länkade objektet när det är möjligt. Det här alternativet stöder alternativknappen Automatisk länkuppdatering i dialogrutan Länkar.
OLEUPDATE_ONCALL Uppdatera det länkade objektet endast på begäran från containerprogrammet (när medlemsfunktionen UpdateLink anropas). Det här alternativet stöder alternativknappen Manuell länkuppdatering i dialogrutan Länkar.
Anmärkningar
Det här är en avancerad åtgärd.
Den här funktionen anropas automatiskt av klassen COleLinksDialog .
Mer information finns i IOleLink::GetUpdateOptions i Windows SDK.
COleClientItem::GetType
Anropa den här funktionen för att avgöra om OLE-objektet är inbäddat eller länkat eller statiskt.
OLE_OBJTYPE GetType() const;
Returvärde
Ett osignerat heltal med något av följande värden:
OT_LINK OLE-objektet är en länk.
OT_EMBEDDED OLE-objektet är inbäddat.
OT_STATIC OLE-objektet är statiskt, dvs. det innehåller endast presentationsdata, inte inbyggda data och kan därför inte redigeras.
COleClientItem::GetUserType
Anropa den här funktionen för att hämta den användar synliga strängen som beskriver OLE-objektets typ, till exempel "Word-dokument".
void GetUserType(
USERCLASSTYPE nUserClassType,
CString& rString);
Parameterar
nUserClassType
Ett värde som anger den önskade varianten av strängen som beskriver OLE-objektets typ. Detta kan ha något av följande värden:
USERCLASSTYPE_FULL Det fullständiga typnamnet som visas för användaren.
USERCLASSTYPE_SHORT Ett kort namn (högst 15 tecken) för användning i popup-menyer och dialogrutan Redigera länkar.
USERCLASSTYPE_APPNAME Namnet på programmet som betjänar klassen.
rString
En referens till ett CString-objekt som strängen som beskriver OLE-objektets typ ska returneras till.
Anmärkningar
Det här är ofta posten i systemregistreringsdatabasen.
Om det fullständiga typnamnet begärs men inte är tillgängligt används det korta namnet i stället. Om det inte finns någon post för typen av OLE-objekt i registreringsdatabasen, eller om det inte finns några användartyper registrerade för typen av OLE-objekt, används den användartyp som för närvarande lagras i OLE-objektet. Om användarnamnet är en tom sträng används "Okänt objekt".
Mer information finns i IOleObject::GetUserType i Windows SDK.
COleClientItem::IsInPlaceActive
Anropa den här funktionen för att se om OLE-objektet är aktivt på plats.
BOOL IsInPlaceActive() const;
Returvärde
Nonzero om OLE-objektet är aktivt på plats. annars 0.
Anmärkningar
Det är vanligt att köra olika logik beroende på om objektet redigeras på plats. Funktionen kontrollerar om det aktuella objekttillståndet är lika med antingen activeState eller activeUIState.
COleClientItem::IsLinkUpToDate
Anropa den här funktionen för att se om OLE-objektet är uppdaterat.
BOOL IsLinkUpToDate() const;
Returvärde
Nonzero om OLE-objektet är uppdaterat. annars 0.
Anmärkningar
Ett länkat objekt kan vara inaktuellt om källdokumentet har uppdaterats. Ett inbäddat objekt som innehåller länkar i det kan på liknande sätt bli inaktuellt. Funktionen utför en rekursiv kontroll av OLE-objektet. Observera att det kan vara lika dyrt att avgöra om ett OLE-objekt är inaktuellt som att faktiskt utföra en uppdatering.
Detta anropas automatiskt av COleLinksDialog-implementeringen .
Mer information finns i IOleObject::IsUpToDate i Windows SDK.
COleClientItem::IsModified
Anropa den här funktionen för att se om OLE-objektet är smutsigt (ändrat sedan det senast sparades).
BOOL IsModified() const;
Returvärde
Nonzero om OLE-objektet är smutsigt; annars 0.
Anmärkningar
Mer information finns i IPersistStorage::IsDirty i Windows SDK.
COleClientItem::IsOpen
Anropa den här funktionen för att se om OLE-objektet är öppet. som öppnas i en instans av serverprogrammet som körs i ett separat fönster.
BOOL IsOpen() const;
Returvärde
Nonzero om OLE-objektet är öppet; annars 0.
Anmärkningar
Det används för att avgöra när objektet ska ritas med ett kläckningsmönster. Ett öppet objekt ska ha ett luckmönster ritat ovanpå objektet. Du kan använda ett CRectTracker-objekt för att åstadkomma detta.
COleClientItem::IsRunning
Anropa den här funktionen för att se om OLE-objektet körs. om objektet läses in och körs i serverprogrammet.
BOOL IsRunning() const;
Returvärde
Nonzero om OLE-objektet körs. annars 0.
Anmärkningar
Mer information finns i OleIsRunning i Windows SDK.
COleClientItem::OnActivate
Anropas av ramverket för att meddela objektet att det just har aktiverats på plats.
virtual void OnActivate();
Anmärkningar
Observera att den här funktionen anropas för att indikera att servern körs, inte för att indikera att dess användargränssnitt har installerats i containerprogrammet. I det här läget har objektet inte något aktivt användargränssnitt (är inte activeUIState). Den har inte installerat sina menyer eller verktygsfält. Medlemsfunktionen OnActivateUI anropas när det händer.
Standardimplementeringen anropar funktionen OnChange-medlem med OLE_CHANGEDSTATE som en parameter. Åsidosätt den här funktionen för att utföra anpassad bearbetning när ett objekt blir aktivt på plats.
COleClientItem::OnActivateUI
Ramverket anropar OnActivateUI när objektet har angett det aktiva användargränssnittstillståndet.
virtual void OnActivateUI();
Anmärkningar
Objektet har nu installerat verktygsfältet och menyerna.
Standardimplementeringen kommer ihåg serverns HWND för senare GetServerWindow anrop.
COleClientItem::OnChange
Anropas av ramverket när användaren ändrar, sparar eller stänger OLE-objektet.
virtual void OnChange(
OLE_NOTIFICATION nCode,
DWORD dwParam);
Parameterar
nCode
Anledningen till att servern ändrade det här objektet. Den kan ha något av följande värden:
OLE_CHANGED OLE-objektets utseende har ändrats.
OLE_SAVED OLE-objektet har sparats.
OLE_CLOSED OLE-objektet har stängts.
OLE_CHANGED_STATE OLE-objektet har ändrats från ett tillstånd till ett annat.
dwParam
Om nCode är OLE_SAVED eller OLE_CLOSED används inte den här parametern. Om nCode är OLE_CHANGED anger den här parametern den aspekt av OLE-objektet som har ändrats. Möjliga värden finns i parametern dwParam för COleClientItem::D raw. Om nCode är OLE_CHANGED_STATE är den här parametern ett COleClientItem::ItemState uppräknat värde och beskriver tillståndet som anges. Det kan ha något av följande värden: emptyState, loadedState, openState, activeStateeller activeUIState.
Anmärkningar
(Om serverprogrammet skrivs med hjälp av Notify Microsoft Foundation-klassbiblioteket anropas den här funktionen som svar på medlemsfunktionerna COleServerDoc i eller COleServerItem.) Standardimplementeringen markerar containerdokumentet som ändrat om nCode är OLE_CHANGED eller OLE_SAVED.
För OLE_CHANGED_STATE är det aktuella tillståndet som returneras från GetItemState fortfarande det gamla tillståndet, vilket innebär det tillstånd som var aktuellt före den här tillståndsändringen.
Åsidosätt den här funktionen för att svara på ändringar i OLE-objektets tillstånd. Vanligtvis uppdaterar du objektets utseende genom att ogiltigförklara det område där objektet visas. Anropa basklassimplementeringen i början av åsidosättningen.
COleClientItem::OnChangeItemPosition
Anropas av ramverket för att meddela containern att OLE-objektets omfattning har ändrats under aktiveringen på plats.
virtual BOOL OnChangeItemPosition(const CRect& rectPos);
Parameterar
rectPos
Anger objektets position i förhållande till containerprogrammets klientområde.
Returvärde
Nonzero om objektets position har ändrats. annars 0.
Anmärkningar
Standardimplementeringen avgör den nya synliga rektangeln för OLE-objektet och anropar SetItemRects med de nya värdena. Standardimplementeringen beräknar den synliga rektangeln för objektet och skickar informationen till servern.
Åsidosätt den här funktionen för att tillämpa särskilda regler på åtgärden ändra storlek/flytta. Om programmet är skrivet i MFC resulterar det här anropet eftersom servern heter COleServerDoc::RequestPositionChange.
COleClientItem::OnDeactivate
Anropas av ramverket när OLE-objektet övergår från det aktiva tillståndet på plats (activeState) till det inlästa tillståndet, vilket innebär att det inaktiveras efter en aktivering på plats.
virtual void OnDeactivate();
Anmärkningar
Observera att den här funktionen anropas för att indikera att OLE-objektet är stängt, inte att dess användargränssnitt har tagits bort från containerprogrammet. När det händer anropas medlemsfunktionen OnDeactivateUI .
Standardimplementeringen anropar funktionen OnChange-medlem med OLE_CHANGEDSTATE som en parameter. Åsidosätt den här funktionen för att utföra anpassad bearbetning när ett aktivt objekt på plats inaktiveras. Om du till exempel har stöd för kommandot ångra i containerprogrammet kan du åsidosätta den här funktionen för att ignorera ångra-tillståndet, vilket indikerar att den senaste åtgärden som utfördes på OLE-objektet inte kan ångras när objektet har inaktiverats.
COleClientItem::OnDeactivateAndUndo
Anropas av ramverket när användaren anropar kommandot ångra när ole-objektet har aktiverats.
virtual void OnDeactivateAndUndo();
Anmärkningar
Standardimplementeringen anropar Inaktivera användargränssnitt för att inaktivera serverns användargränssnitt. Åsidosätt den här funktionen om du implementerar kommandot ångra i containerprogrammet. I åsidosättningen anropar du basklassversionen av funktionen och ångrar sedan det senaste kommandot som kördes i programmet.
Mer information finns i IOleInPlaceSite::D eactivateAndUndo i Windows SDK.
COleClientItem::OnDeactivateUI
Anropas när användaren inaktiverar ett objekt som har aktiverats på plats.
virtual void OnDeactivateUI(BOOL bUndoable);
Parameterar
bUndoable
Anger om redigeringsändringarna kan ångras.
Anmärkningar
Den här funktionen återställer containerprogrammets användargränssnitt till sitt ursprungliga tillstånd och döljer alla menyer och andra kontroller som har skapats för aktivering på plats.
Om bUndoable är FALSE bör containern inaktivera kommandot ångra, vilket i praktiken tar bort återställningstillståndet för containern, eftersom det anger att den senaste åtgärden som utfördes av servern inte kan ångras.
COleClientItem::OnDiscardUndoState
Anropas av ramverket när användaren utför en åtgärd som tar bort ångra-tillståndet när ole-objektet redigeras.
virtual void OnDiscardUndoState();
Anmärkningar
Standardimplementeringen gör ingenting. Åsidosätt den här funktionen om du implementerar kommandot ångra i containerprogrammet. Ignorera containerprogrammets ångra-tillstånd i åsidosättningen.
Om servern har skrivits med Microsoft Foundation-klassbiblioteket kan servern göra så att den här funktionen anropas genom att anropa COleServerDoc::D iscardUndoState.
Mer information finns i IOleInPlaceSite::D iscardUndoState i Windows SDK.
COleClientItem::OnGetClipboardData
Anropas av ramverket för att hämta ett COleDataSource objekt som innehåller alla data som skulle placeras i Urklipp av ett anrop till antingen CopyToClipboard eller Funktionen DoDragDrop-medlem .
virtual COleDataSource* OnGetClipboardData(
BOOL bIncludeLink,
LPPOINT lpOffset,
LPSIZE lpSize);
Parameterar
bIncludeLink
Ange TRUE om länkdata ska kopieras till Urklipp. Ställ in detta på FALSE om serverprogrammet inte stöder länkar.
lpOffset
Pekare till musmarkörens förskjutning från objektets ursprung i bildpunkter.
lpSize
Pekare till objektets storlek i bildpunkter.
Returvärde
En pekare till ett COleDataSource-objekt som innehåller Urklippsdata.
Anmärkningar
Standardimplementeringen av den här funktionen anropar GetClipboardData.
COleClientItem::OnGetClipRect
Ramverket OnGetClipRect anropar medlemsfunktionen för att hämta koordinaterna för urklippsrektangeln för objektet som redigeras på plats.
virtual void OnGetClipRect(CRect& rClipRect);
Parameterar
rClipRect
Pekare till ett objekt av klass-CRect som innehåller objektets koordinater för urklippsrektangel.
Anmärkningar
Koordinaterna finns i bildpunkter i förhållande till klientområdet för containerprogrammet.
Standardimplementeringen returnerar bara klientrektangeln för vyn där objektet är aktivt på plats.
COleClientItem::OnGetItemPosition
Ramverket OnGetItemPosition anropar medlemsfunktionen för att hämta koordinaterna för det objekt som redigeras på plats.
virtual void OnGetItemPosition(CRect& rPosition);
Parameterar
rPosition
Referens till det CRect-objekt som ska innehålla objektets positionskoordinater.
Anmärkningar
Koordinaterna finns i bildpunkter i förhållande till klientområdet för containerprogrammet.
Standardimplementeringen av den här funktionen gör ingenting. Program som stöder redigering på plats kräver dess implementering.
COleClientItem::OnGetWindowContext
Anropas av ramverket när ett objekt aktiveras på plats.
virtual BOOL OnGetWindowContext(
CFrameWnd** ppMainFrame,
CFrameWnd** ppDocFrame,
LPOLEINPLACEFRAMEINFO lpFrameInfo);
Parameterar
ppMainFrame
Pekare till en pekare till huvudramsfönstret.
ppDocFrame
Pekare mot en pekare till dokumentramsfönstret.
lpFrameInfo
Pekare mot en OLEINPLACEFRAMEINFO-struktur som tar emot information om ramfönster.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Den här funktionen används för att hämta information om OLE-objektets överordnade fönster.
Om containern är ett MDI-program returnerar standardimplementeringen en pekare till CMDIFrameWnd-objektet i ppMainFrame och en pekare till det aktiva CMDIChildWnd-objektet i ppDocFrame. Om containern är ett SDI-program returnerar standardimplementeringen en pekare till CFrameWnd-objektet i ppMainFrame och returnerar NULL i ppDocFrame. Standardimplementeringen fyller också i medlemmarna i lpFrameInfo.
Åsidosätt endast den här funktionen om standardimplementeringen inte passar ditt program. Om ditt program till exempel har ett användargränssnittsparadigm som skiljer sig från SDI eller MDI. Det här är ett avancerat åsidosättande.
Mer information finns i IOleInPlaceSite::GetWindowContext och OLEINPLACEFRAMEINFO-strukturen i Windows SDK.
COleClientItem::OnInsertMenus
Anropas av ramverket under aktiveringen på plats för att infoga containerprogrammets menyer i en tom meny.
virtual void OnInsertMenus(
CMenu* pMenuShared,
LPOLEMENUGROUPWIDTHS lpMenuWidths);
Parameterar
pMenuShared
Pekar på en tom meny.
lpMenuWidths
Pekar på en matris med sex LONG-värden som anger hur många menyer som finns i var och en av följande menygrupper: Arkiv, Redigera, Container, Objekt, Fönster, Hjälp. Containerprogrammet ansvarar för menygrupperna Arkiv, Container och Fönster, som motsvarar elementen 0, 2 och 4 i den här matrisen.
Anmärkningar
Den här menyn skickas sedan till servern, som infogar sina egna menyer och skapar en sammansatt meny. Den här funktionen kan anropas upprepade gånger för att skapa flera sammansatta menyer.
Standardimplementeringen infogar i pMenuShared containermenyerna på plats. det vill: menygrupperna Arkiv, Container och Fönster. CDocTemplate::SetContainerInfo används för att ange den här menyresursen. Standardimplementeringen tilldelar också lämpliga värden till elementen 0, 2 och 4 i lpMenuWidths, beroende på menyresursen. Åsidosätt den här funktionen om standardimplementeringen inte är lämplig för ditt program. Om ditt program till exempel inte använder dokumentmallar för att associera resurser med dokumenttyper. Om du åsidosätter den här funktionen bör du också åsidosätta OnSetMenu och OnRemoveMenus. Det här är ett avancerat åsidosättande.
Mer information finns i IOleInPlaceFrame::InsertMenus i Windows SDK.
COleClientItem::OnRemoveMenus
Anropas av ramverket för att ta bort containerns menyer från den angivna sammansatta menyn när aktiveringen på plats upphör.
virtual void OnRemoveMenus(CMenu* pMenuShared);
Parameterar
pMenuShared
Pekar på den sammansatta menyn som skapas av anrop till medlemsfunktionen OnInsertMenus .
Anmärkningar
Standardimplementeringen tar bort från pMenuShared containermenyerna på plats, dvs. menygrupperna Arkiv, Container och Fönster. Åsidosätt den här funktionen om standardimplementeringen inte är lämplig för ditt program. Om ditt program till exempel inte använder dokumentmallar för att associera resurser med dokumenttyper. Om du åsidosätter den här funktionen bör du förmodligen också åsidosätta OnInsertMenus och OnSetMenu . Det här är ett avancerat åsidosättande.
Undermenyerna på pMenuShared kan delas av mer än en sammansatt meny om servern upprepade gånger har anropat OnInsertMenus. Därför bör du inte ta bort några undermenyer i åsidosättningen av OnRemoveMenus. Du bör bara koppla från dem.
Mer information finns i IOleInPlaceFrame::RemoveMenus i Windows SDK.
COleClientItem::OnScrollBy
Anropas av ramverket för att rulla OLE-objektet som svar på begäranden från servern.
virtual BOOL OnScrollBy(CSize sizeExtent);
Parameterar
sizeExtent
Anger de avstånd i bildpunkter som ska rullas i x- och y-riktningarna.
Returvärde
Nonzero om objektet har rullats; 0 om objektet inte kunde rullas.
Anmärkningar
Om ole-objektet till exempel är delvis synligt och användaren flyttas utanför den synliga regionen när den utför redigering på plats anropas den här funktionen för att hålla markören synlig. Standardimplementeringen gör ingenting. Åsidosätt den här funktionen för att rulla objektet med det angivna beloppet. Observera att till följd av rullning kan den synliga delen av OLE-objektet ändras. Anropa SetItemRects för att uppdatera objektets synliga rektangel.
Mer information finns i IOleInPlaceSite::Scroll i Windows SDK.
COleClientItem::OnSetMenu
Anropas av ramverket två gånger när aktiveringen på plats börjar och slutar. första gången du installerar den sammansatta menyn och andra gången (med holemenu lika med NULL) för att ta bort den.
virtual void OnSetMenu(
CMenu* pMenuShared,
HOLEMENU holemenu,
HWND hwndActiveObject);
Parameterar
pMenuShared
Pekare till den sammansatta menyn som skapats av anrop till medlemsfunktionen OnInsertMenus och InsertMenu funktionen.
holemenu
Hantera till menybeskrivningen som returneras av OleCreateMenuDescriptor funktionen eller NULL om sändningskoden ska tas bort.
hwndActiveObject
Hantera till redigeringsfönstret för OLE-objektet. Det här är fönstret som tar emot redigeringskommandon från OLE.
Anmärkningar
Standardimplementeringen installerar eller tar bort den sammansatta menyn och anropar sedan funktionen OleSetMenuDescriptor för att installera eller ta bort sändningskoden. Åsidosätt den här funktionen om standardimplementeringen inte är lämplig för ditt program. Om du åsidosätter den här funktionen bör du förmodligen åsidosätta OnInsertMenus och OnRemoveMenus också. Det här är ett avancerat åsidosättande.
Mer information finns i OleCreateMenuDescriptor, OleSetMenuDescriptor och IOleInPlaceFrame::SetMenu i Windows SDK.
COleClientItem::OnShowControlBars
Anropas av ramverket för att visa och dölja containerprogrammets kontrollstaplar.
virtual BOOL OnShowControlBars(
CFrameWnd* pFrameWnd,
BOOL bShow);
Parameterar
pFrameWnd
Pekare mot containerprogrammets ramfönster. Det kan vara antingen ett huvudramfönster eller ett underordnat MDI-fönster.
bShow
Anger om kontrollstaplar ska visas eller döljas.
Returvärde
Nonzero om funktionsanropet orsakar en ändring i kontrollstaplars tillstånd. 0 om anropet inte orsakar någon ändring, eller om pFrameWnd inte pekar på containerns ramfönster.
Anmärkningar
Den här funktionen returnerar 0 om kontrollstaplarna redan är i det tillstånd som anges av bShow. Detta skulle till exempel inträffa om kontrollstaplarna är dolda och bShow är FALSE.
Standardimplementeringen tar bort verktygsfältet från ramfönstret på den översta nivån.
COleClientItem::OnShowItem
Anropas av ramverket för att visa OLE-objektet, vilket gör det helt synligt under redigeringen.
virtual void OnShowItem();
Anmärkningar
Det används när ditt containerprogram stöder länkar till inbäddade objekt (det vill: om du har härlett dokumentklassen från COleLinkingDoc). Den här funktionen anropas under aktivering på plats eller när OLE-objektet är en länkkälla och användaren vill redigera den. Standardimplementeringen aktiverar den första vyn i containerdokumentet. Åsidosätt den här funktionen för att rulla dokumentet så att OLE-objektet visas.
COleClientItem::OnUpdateFrameTitle
Anropas av ramverket under aktiveringen på plats för att uppdatera ramfönstrets namnlist.
virtual BOOL OnUpdateFrameTitle();
Returvärde
Nonzero om den här funktionen har uppdaterat ramrubriken, annars noll.
Anmärkningar
Standardimplementeringen ändrar inte ramfönstrets rubrik. Åsidosätt den här funktionen om du vill ha en annan ramrubrik för ditt program, till exempel "serverappobjekt - i docname" (som i "Microsoft Excel – kalkylblad i REPORT.DOC"). Det här är ett avancerat åsidosättande.
COleClientItem::ReactivateAndUndo
Anropa den här funktionen för att återaktivera OLE-objektet och ångra den senaste åtgärden som utfördes av användaren under redigering på plats.
BOOL ReactivateAndUndo();
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Om containerprogrammet stöder kommandot ångra anropar du den här funktionen om användaren väljer kommandot ångra omedelbart efter att ole-objektet har inaktiverats.
Om serverprogrammet skrivs med Microsoft Foundation-klassbiblioteken gör den här funktionen att servern anropar COleServerDoc::OnReactivateAndUndo.
Mer information finns i IOleInPlaceObject::ReactivateAndUndo i Windows SDK.
COleClientItem::Release
Anropa den här funktionen för att rensa resurser som används av OLE-objektet.
virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);
Parameterar
dwCloseOption
Flagga som anger under vilka omständigheter OLE-objektet sparas när det återgår till det inlästa tillståndet. En lista över möjliga värden finns i COleClientItem::Close.
Anmärkningar
Release kallas av destructoren COleClientItem .
Mer information finns i IUnknown::Release i Windows SDK.
COleClientItem::Ladda om
Stänger och läser in objektet igen.
BOOL Reload();
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Reload Anropa funktionen när du har aktiverat objektet som ett objekt av en annan typ av ett anrop till ActivateAs.
COleClientItem::Run
Kör programmet som är associerat med det här objektet.
void Run();
Anmärkningar
Run Anropa medlemsfunktionen för att starta serverprogrammet innan du aktiverar objektet. Detta görs automatiskt av Aktivera och DoVerb, så det är vanligtvis inte nödvändigt att anropa den här funktionen. Anropa den här funktionen om det är nödvändigt att köra servern för att ange ett objektattribut, till exempel SetExtent, innan du kör DoVerb.
COleClientItem::SetDrawAspect
SetDrawAspect Anropa medlemsfunktionen för att ange objektets "aspekt" eller vy.
virtual void SetDrawAspect(DVASPECT nDrawAspect);
Parameterar
nDrawAspect
Ett värde från DVASPECT-uppräkningen. Den här parametern kan ha något av följande värden:
DVASPECT_CONTENT Objekt representeras på ett sådant sätt att det kan visas som ett inbäddat objekt i containern.
DVASPECT_THUMBNAIL Objektet återges i en "miniatyrbild" så att det kan visas i ett webbverktyg.
DVASPECT_ICON Objekt representeras av en ikon.
DVASPECT_DOCPRINT objekt representeras som om det skrevs ut med hjälp av kommandot Skriv ut på arkiv-menyn.
Anmärkningar
Aspekten anger hur objektet ska återges av Draw när standardvärdet för funktionens nDrawAspect-argument används.
Den här funktionen anropas automatiskt av ändringsikonen (och andra dialogrutor som anropar dialogrutan Ändra ikon direkt) för att aktivera den ikoniska visningsaspekten när användaren begär det.
COleClientItem::SetExtent
Anropa den här funktionen för att ange hur mycket utrymme som är tillgängligt för OLE-objektet.
void SetExtent(
const CSize& size,
DVASPECT nDrawAspect = DVASPECT_CONTENT);
Parameterar
storlek
Ett CSize-objekt som innehåller storleksinformationen.
nDrawAspect
Anger den aspekt av OLE-objektet vars gränser ska anges. Möjliga värden finns i SetDrawAspect.
Anmärkningar
Om serverprogrammet skrevs med hjälp av Microsoft Foundation-klassbiblioteket gör detta att medlemsfunktionen OnSetExtent för motsvarande COleServerItem objekt anropas. OLE-objektet kan sedan justera dess visning i enlighet med detta. Dimensionerna måste finnas i MM_HIMETRIC enheter. Anropa den här funktionen när användaren ändrar storlek på OLE-objektet eller om du stöder någon form av layoutförhandling.
Mer information finns i IOleObject::SetExtent i Windows SDK.
COleClientItem::SetHostNames
Anropa den här funktionen för att ange namnet på containerprogrammet och containerns namn för ett inbäddat OLE-objekt.
void SetHostNames(
LPCTSTR lpszHost,
LPCTSTR lpszHostObj);
Parameterar
lpszHost
Pekare mot containerprogrammets användar synliga namn.
lpszHostObj
Pekare till en identifierande sträng för containern som innehåller OLE-objektet.
Anmärkningar
Om serverprogrammet skrevs med hjälp av Microsoft Foundation-klassbiblioteket anropar den här funktionen medlemsfunktionen OnSetHostNames i COleServerDoc dokumentet som innehåller OLE-objektet. Den här informationen används i fönsterrubriker när OLE-objektet redigeras. Varje gång ett containerdokument läses in anropar ramverket den här funktionen för alla OLE-objekt i dokumentet.
SetHostNames gäller endast för inbäddade objekt. Det är inte nödvändigt att anropa den här funktionen varje gång ett inbäddat OLE-objekt aktiveras för redigering.
Detta anropas också automatiskt med programnamnet och dokumentnamnet när ett objekt läses in eller när en fil sparas under ett annat namn. Därför är det vanligtvis inte nödvändigt att anropa den här funktionen direkt.
Mer information finns i IOleObject::SetHostNames i Windows SDK.
COleClientItem::SetIconicMetafile
Cachelagrar metafilen som används för att rita objektets ikon.
BOOL SetIconicMetafile(HGLOBAL hMetaPict);
Parameterar
hMetaPict
Ett handtag till metafilen som används för att rita objektets ikon.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Använd GetIconicMetafile för att hämta metafilen.
Parametern hMetaPict kopieras till objektet. Därför måste hMetaPict friges av anroparen.
COleClientItem::SetItemRects
Anropa den här funktionen för att ange avgränsningsrektangeln eller den synliga rektangeln för OLE-objektet.
BOOL SetItemRects(
LPCRECT lpPosRect = NULL,
LPCRECT lpClipRect = NULL);
Parameterar
lprcPosRect
Pekare till rektangeln som innehåller gränserna för OLE-objektet i förhållande till dess överordnade fönster, i klientkoordinater.
lprcClipRect
Pekare till rektangeln som innehåller gränserna för den synliga delen av OLE-objektet i förhållande till dess överordnade fönster i klientkoordinater.
Returvärde
Nonzero om det lyckas; annars 0.
Anmärkningar
Den här funktionen anropas av standardimplementeringen av medlemsfunktionen OnChangeItemPosition . Du bör anropa den här funktionen när positionen eller den synliga delen av OLE-objektet ändras. Vanligtvis innebär det att du anropar det från vyns medlemsfunktioner OnSize och OnScrollBy .
Mer information finns i IOleInPlaceObject::SetObjectRects i Windows SDK.
COleClientItem::SetLinkUpdateOptions
Anropa den här funktionen för att ange alternativet för länkuppdatering för presentationen av det angivna länkade objektet.
void SetLinkUpdateOptions(OLEUPDATE dwUpdateOpt);
Parameterar
dwUpdateOpt
Värdet för alternativet länkuppdatering för det här objektet. Det här värdet måste vara något av följande:
OLEUPDATE_ALWAYS Uppdatera det länkade objektet när det är möjligt. Det här alternativet stöder alternativknappen Automatisk länkuppdatering i dialogrutan Länkar.
OLEUPDATE_ONCALL Uppdatera det länkade objektet endast på begäran från containerprogrammet (när medlemsfunktionen UpdateLink anropas). Det här alternativet stöder alternativknappen Manuell länkuppdatering i dialogrutan Länkar.
Anmärkningar
Normalt bör du inte ändra de uppdateringsalternativ som användaren har valt i dialogrutan Länkar.
Mer information finns i IOleLink::SetUpdateOptions i Windows SDK.
COleClientItem::SetPrintDevice
Anropa den här funktionen för att ändra utskriftsmålenheten för det här objektet.
BOOL SetPrintDevice(const DVTARGETDEVICE* ptd);
BOOL SetPrintDevice(const PRINTDLG* ppd);
Parameterar
ptd
Pekare till en DVTARGETDEVICE-datastruktur som innehåller information om den nya utskriftsmålenheten. Kan vara NULL.
Ppd
Pekare till en PRINTDLG-datastruktur som innehåller information om den nya utskriftsmålenheten. Kan vara NULL.
Returvärde
Nonzero om funktionen lyckades; annars 0.
Anmärkningar
Den här funktionen uppdaterar utskriftsmålenheten för objektet men uppdaterar inte presentationscacheminnet. Om du vill uppdatera presentationscacheminnet för ett objekt anropar du UpdateLink.
Argumenten för den här funktionen innehåller information som OLE-systemet använder för att identifiera målenheten. Strukturen PRINTDLG innehåller information som Windows använder för att initiera den gemensamma dialogrutan Utskrift. När användaren har stängt dialogrutan returnerar Windows information om användarens val i den här strukturen. Den m_pd medlemmen i ett CPrintDialog-objekt är en PRINTDLG struktur.
Mer information om den här strukturen finns i PRINTDLG i Windows SDK.
Mer information finns i DVTARGETDEVICE i Windows SDK.
COleClientItem::UpdateLink
Anropa den här funktionen för att uppdatera presentationsdata för OLE-objektet omedelbart.
BOOL UpdateLink();
Returvärde
Nonzero på framgång; annars 0.
Anmärkningar
För länkade objekt hittar funktionen länkkällan för att hämta en ny presentation för OLE-objektet. Den här processen kan innebära att du kör ett eller flera serverprogram, vilket kan vara tidskrävande. För inbäddade objekt fungerar funktionen rekursivt och kontrollerar om det inbäddade objektet innehåller länkar som kan vara inaktuella och uppdaterar dem. Användaren kan också uppdatera enskilda länkar manuellt med hjälp av dialogrutan Länkar.
Mer information finns i IOleLink::Update i Windows SDK.
Se även
MFC MFC Sample MFCBIND
MFC-exempel-OCLIENT
CDocItem-klass
hierarkidiagram
COleServerItem-klass