Dela via


COleClientItem-klass

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

CObject

CCmdTarget

CDocItem

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.

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.

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