Share via


COleServerItem-klasse

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Biedt de serverinterface voor OLE-items.

Syntaxis

class COleServerItem : public CDocItem

Leden

Beveiligde constructors

Naam Description
COleServerItem::COleServerItem Maakt een COleServerItem object.

Openbare methoden

Naam Description
COleServerItem::AddOtherClipboardData Hiermee worden presentatie- en conversienotaties in een COleDataSource object geplaatst.
COleServerItem::CopyToClipboard Hiermee kopieert u het item naar het Klembord.
COleServerItem::D oDragDrop Hiermee voert u een bewerking voor slepen en neerzetten uit.
COleServerItem::GetClipboardData Hiermee haalt u de gegevensbron op voor gebruik in gegevensoverdracht (slepen en neerzetten of Klembord).
COleServerItem::GetDocument Retourneert het serverdocument dat het item bevat.
COleServerItem::GetEmbedSourceData Hiermee haalt u de CF_EMBEDSOURCE gegevens voor een OLE-item op.
COleServerItem::GetItemName Retourneert de naam van het item. Alleen gebruikt voor gekoppelde items.
COleServerItem::GetLinkSourceData Hiermee haalt u de CF_LINKSOURCE gegevens voor een OLE-item op.
COleServerItem::GetObjectDescriptorData Hiermee haalt u de CF_OBJECTDESCRIPTOR gegevens voor een OLE-item op.
COleServerItem::IsConnected Hiermee wordt aangegeven of het item momenteel is gekoppeld aan een actieve container.
COleServerItem::IsLinkedItem Geeft aan of het item een gekoppeld OLE-item vertegenwoordigt.
COleServerItem::NotifyChanged Hiermee worden alle containers bijgewerkt met automatische koppelingsupdates.
COleServerItem::OnDoVerb Aangeroepen om een werkwoord uit te voeren.
COleServerItem::OnDraw Aangeroepen wanneer de container aanvraagt om het item te tekenen; implementatie vereist.
COleServerItem::OnDrawEx Aangeroepen voor gespecialiseerde itemtekening.
COleServerItem::OnGetClipboardData Wordt aangeroepen door het framework om de gegevens op te halen die naar het Klembord worden gekopieerd.
COleServerItem::OnGetExtent Wordt aangeroepen door het framework om de grootte van het OLE-item op te halen.
COleServerItem::OnInitFromData Aangeroepen door het framework om een OLE-item te initialiseren met behulp van de inhoud van het opgegeven object voor gegevensoverdracht.
COleServerItem::OnQueryUpdateItems Aangeroepen om te bepalen of gekoppelde items moeten worden bijgewerkt.
COleServerItem::OnRenderData Hiermee worden gegevens opgehaald als onderdeel van vertraagde rendering.
COleServerItem::OnRenderFileData Hiermee worden gegevens opgehaald in een CFile object als onderdeel van vertraagde rendering.
COleServerItem::OnRenderGlobalData Haalt gegevens op in een HGLOBAL als onderdeel van vertraagde rendering.
COleServerItem::OnSetColorScheme Wordt aangeroepen om het kleurenschema van het item in te stellen.
COleServerItem::OnSetData Aangeroepen om de gegevens van het item in te stellen.
COleServerItem::OnSetExtent Aangeroepen door het framework om de grootte van het OLE-item in te stellen.
COleServerItem::OnUpdate Wordt aangeroepen wanneer een deel van het document waartoe het item behoort, wordt gewijzigd.
COleServerItem::OnUpdateItems Wordt aangeroepen om de presentatiecache van alle items in het serverdocument bij te werken.
COleServerItem::SetItemName Hiermee stelt u de naam van het item in. Alleen gebruikt voor gekoppelde items.

Beveiligde methoden

Naam Description
COleServerItem::GetDataSource Hiermee haalt u het object op dat wordt gebruikt voor het opslaan van conversie-indelingen.
COleServerItem::OnHide Aangeroepen door het framework om het OLE-item te verbergen.
COleServerItem::OnOpen Aangeroepen door het framework om het OLE-item weer te geven in een eigen venster op het hoogste niveau.
COleServerItem::OnShow Aangeroepen wanneer de container aanvraagt om het item weer te geven.

Leden van openbare gegevens

Naam Description
COleServerItem::m_sizeExtent Informeert de server over hoeveel van het OLE-item zichtbaar is.

Opmerkingen

Een gekoppeld item kan een of meer van een serverdocument vertegenwoordigen. Een ingesloten item vertegenwoordigt altijd een heel serverdocument.

De COleServerItem klasse definieert verschillende overschrijfbare lidfuncties die worden aangeroepen door de OLE-systeem-DLL's (Dynamic Link Libraries), meestal in reactie op aanvragen van de containertoepassing. Met deze lidfuncties kan de containertoepassing het item indirect op verschillende manieren bewerken, zoals door het weer te geven, de werkwoorden uit te voeren of de gegevens op te halen in verschillende indelingen.

Als u deze wilt gebruiken COleServerItem, moet u een klasse afleiden en de functies OnDraw en Serialize-lid implementeren. De OnDraw functie biedt de metabestandweergave van een item, zodat het kan worden weergegeven wanneer een containertoepassing een samengesteld document opent. De Serialize functie biedt CObject de systeemeigen weergave van een item, waardoor een ingesloten item kan worden overgedragen tussen de server- en containertoepassingen. OnGetExtent biedt de natuurlijke grootte van het item aan de container, zodat de container de grootte van het item kan aanpassen.

Zie het artikel Servers: Een server implementeren en een container/servertoepassing maken in het artikel Containers: Geavanceerde functies voor meer informatie over servers en verwante onderwerpen.

Overnamehiërarchie

CObject

CCmdTarget

CDocItem

COleServerItem

Requirements

Koptekst: afxole.h

COleServerItem::AddOtherClipboardData

Roep deze functie aan om de presentatie- en conversieindelingen voor het OLE-item in het opgegeven COleDataSource object te plaatsen.

void AddOtherClipboardData(COleDataSource* pDataSource);

Parameterwaarden

pDataSource
Wijs het COleDataSource object aan waarin de gegevens moeten worden geplaatst.

Opmerkingen

U moet de functie OnDraw-lid hebben geïmplementeerd om de presentatie-indeling (een metabestandafbeelding) voor het item op te geven. Als u andere conversieindelingen wilt ondersteunen, registreert u deze met behulp van het COleDataSource-object dat wordt geretourneerd door GetDataSource en overschrijft u de functie OnRenderData-lid om gegevens op te geven in de indelingen die u wilt ondersteunen.

COleServerItem::COleServerItem

Hiermee wordt een COleServerItem object samengesteld en toegevoegd aan de verzameling documentitems van het serverdocument.

COleServerItem(
    COleServerDoc* pServerDoc,
    BOOL bAutoDelete);

Parameterwaarden

pServerDoc
Wijs het document aan dat het nieuwe item bevat.

bAutoDelete
Vlag die aangeeft of het object kan worden verwijderd wanneer er een koppeling naar het object wordt vrijgegeven. Stel dit in op FALSE als het COleServerItem object een integraal onderdeel is van de gegevens van uw document die u moet verwijderen. Stel dit in op TRUE als het object een secundaire structuur is die wordt gebruikt om een bereik in de gegevens van uw document te identificeren die door het framework kunnen worden verwijderd.

COleServerItem::CopyToClipboard

Roep deze functie aan om het OLE-item naar het Klembord te kopiëren.

void CopyToClipboard(BOOL bIncludeLink = FALSE);

Parameterwaarden

bIncludeLink
Stel deze optie in op TRUE als koppelingsgegevens naar het Klembord moeten worden gekopieerd. Stel deze optie in op FALSE als uw servertoepassing geen koppelingen ondersteunt.

Opmerkingen

De functie maakt gebruik van de onGetClipboardData-lidfunctie om een COleDataSource-object te maken met de gegevens van het OLE-item in de ondersteunde indelingen. De functie plaatst het COleDataSource object vervolgens op het Klembord met behulp van de functie COleDataSource::SetClipboard . Het COleDataSource object bevat de systeemeigen gegevens van het item en de weergave ervan in CF_METAFILEPICT indeling, evenals gegevens in conversie-indelingen die u wilt ondersteunen. U moet Serialize en OnDraw hebben geïmplementeerd om deze lidfunctie te laten werken.

COleServerItem::D oDragDrop

Roep de DoDragDrop lidfunctie aan om een slepen-en-neerzetten-bewerking uit te voeren.

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

Parameterwaarden

lpRectItem
De rechthoek van het item op het scherm, in pixels, ten opzichte van het clientgebied.

ptOffset
De verschuiving van lpItemRect waar de muispositie zich bevond op het moment van slepen.

bIncludeLink
Stel deze optie in op TRUE als koppelingsgegevens naar het Klembord moeten worden gekopieerd. Stel deze in op FALSE als uw toepassing geen koppelingen ondersteunt.

dwEffects
Bepaalt de effecten die de slepenbron in de sleepbewerking toestaat (een combinatie van Kopiëren, Verplaatsen en Koppelen).

lpRectStartDrag
Aanwijzer naar de rechthoek die definieert waar de sleep daadwerkelijk begint. Zie de volgende sectie Opmerkingen voor meer informatie.

Retourwaarde

Een waarde uit de opsomming DROPEFFECT. Als het DROPEFFECT_MOVE is, moeten de oorspronkelijke gegevens worden verwijderd.

Opmerkingen

De bewerking slepen en neerzetten wordt niet onmiddellijk gestart. Het wacht totdat de muiscursor de rechthoek verlaat die is opgegeven door lpRectStartDrag of totdat een opgegeven aantal milliseconden is verstreken. Als lpRectStartDrag NULL is, wordt een standaardrechthoek gebruikt, zodat de slepen begint wanneer de muiscursor één pixel verplaatst.

De vertragingstijd wordt opgegeven door een registersleutelinstelling. U kunt de vertragingstijd wijzigen door CWinApp::WriteProfileString of CWinApp::WriteProfileInt aan te roepen. Als u de vertragingstijd niet opgeeft, wordt een standaardwaarde van 200 milliseconden gebruikt. Vertragingstijd slepen wordt als volgt opgeslagen:

  • Vertragingstijd voor Windows NT-slepen wordt opgeslagen in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay.

  • Vertragingstijd voor slepen van Windows 3.x wordt opgeslagen in de WIN. INI-bestand, onder de sectie [Windows}.

  • Vertragingstijd voor slepen van Windows 95/98 wordt opgeslagen in een versie in de cache van WIN. INI.

Voor meer informatie over hoe vertragingsinformatie voor slepen wordt opgeslagen in het register of in het . Zie WriteProfileString in het INI-bestand in de Windows SDK.

COleServerItem::GetClipboardData

Roep deze functie aan om het opgegeven COleDataSource-object te vullen met alle gegevens die naar het Klembord zouden worden gekopieerd als u CopyToClipboard aanroept (dezelfde gegevens worden ook overgedragen als u DoDragDrop aanroept).

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

Parameterwaarden

pDataSource
Wijs het COleDataSource object aan dat de gegevens van het OLE-item in alle ondersteunde indelingen ontvangt.

bIncludeLink
WAAR als koppelingsgegevens naar het Klembord moeten worden gekopieerd. ONWAAR als uw servertoepassing geen koppelingen ondersteunt.

lpOffset
De verschuiving, in pixels, van de muiscursor van de oorsprong van het object.

lpSize
De grootte van het object in pixels.

Opmerkingen

Met deze functie wordt de functie GetEmbedSourceData-lid aangeroepen om de systeemeigen gegevens voor het OLE-item op te halen en wordt de functie AddOtherClipboardData-lid aangeroepen om de presentatie-indeling en eventuele ondersteunde conversieindelingen op te halen. Als bIncludeLink TRUE is, roept de functie ook GetLinkSourceData aan om de koppelingsgegevens voor het item op te halen.

Overschrijf deze functie als u notaties in een COleDataSource object wilt plaatsen vóór of na die notaties die zijn opgegeven door CopyToClipboard.

COleServerItem::GetDataSource

Roep deze functie aan om het COleDataSource-object op te halen dat wordt gebruikt om de conversie-indelingen op te slaan die door de servertoepassing worden ondersteund.

COleDataSource* GetDataSource();

Retourwaarde

Een aanwijzer naar het COleDataSource object dat wordt gebruikt voor het opslaan van de conversie-indelingen.

Opmerkingen

Als u wilt dat uw servertoepassing gegevens in verschillende indelingen biedt tijdens bewerkingen voor gegevensoverdracht, moet u deze indelingen registreren bij het COleDataSource object dat door deze functie wordt geretourneerd. Als u bijvoorbeeld een CF_TEXT weergave wilt opgeven van het OLE-item voor Klembord of bewerkingen voor slepen en neerzetten, registreert u de indeling bij het COleDataSource object dat door deze functie wordt geretourneerd en overschrijft u vervolgens de OnRenderXxxData lidfunctie om de gegevens op te geven.

COleServerItem::GetDocument

Roep deze functie aan om een aanwijzer te krijgen naar het document dat het item bevat.

COleServerDoc* GetDocument() const;

Retourwaarde

Een aanwijzer naar het document dat het item bevat; NULL als het item geen deel uitmaakt van een document.

Opmerkingen

Hiermee hebt u toegang tot het serverdocument dat u als argument aan de COleServerItem constructor hebt doorgegeven.

COleServerItem::GetEmbedSourceData

Roep deze functie aan om de CF_EMBEDSOURCE gegevens voor een OLE-item op te halen.

void GetEmbedSourceData(LPSTGMEDIUM lpStgMedium);

Parameterwaarden

lpStgMedium
Wijs de STGMEDIUM-structuur aan die de CF_EMBEDSOURCE gegevens voor het OLE-item ontvangt.

Opmerkingen

Deze indeling omvat de systeemeigen gegevens van het item. U moet de Serialize lidfunctie hebben geïmplementeerd om deze functie goed te laten werken.

Het resultaat kan vervolgens worden toegevoegd aan een gegevensbron met behulp van COleDataSource::CacheData. Deze functie wordt automatisch aangeroepen door COleServerItem::OnGetClipboardData.

Zie STGMEDIUM in de Windows SDK voor meer informatie.

COleServerItem::GetItemName

Roep deze functie aan om de naam van het item op te halen.

const CString& GetItemName() const;

Retourwaarde

De naam van het artikel.

Opmerkingen

Normaal gesproken roept u deze functie alleen aan voor gekoppelde items.

COleServerItem::GetLinkSourceData

Roep deze functie aan om de CF_LINKSOURCE gegevens voor een OLE-item op te halen.

BOOL GetLinkSourceData(LPSTGMEDIUM lpStgMedium);

Parameterwaarden

lpStgMedium
Wijs de STGMEDIUM-structuur aan die de CF_LINKSOURCE gegevens voor het OLE-item ontvangt.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

Deze indeling bevat de CLSID met een beschrijving van het type OLE-item en de informatie die nodig is om het document met het OLE-item te zoeken.

Het resultaat kan vervolgens worden toegevoegd aan een gegevensbron met COleDataSource::CacheData. Deze functie wordt automatisch aangeroepen door OnGetClipboardData.

Zie STGMEDIUM in de Windows SDK voor meer informatie.

COleServerItem::GetObjectDescriptorData

Roep deze functie aan om de CF_OBJECTDESCRIPTOR gegevens voor een OLE-item op te halen.

void GetObjectDescriptorData(
    LPPOINT lpOffset,
    LPSIZE lpSize,
    LPSTGMEDIUM lpStgMedium);

Parameterwaarden

lpOffset
Verschuiving van de muisklik in de linkerbovenhoek van het OLE-item. Kan NULL zijn.

lpSize
Grootte van het OLE-item. Kan NULL zijn.

lpStgMedium
Wijs de STGMEDIUM-structuur aan die de CF_OBJECTDESCRIPTOR gegevens voor het OLE-item ontvangt.

Opmerkingen

De informatie wordt gekopieerd naar de STGMEDIUM structuur die wordt verwezen door lpStgMedium. Deze indeling bevat de informatie die nodig is voor het dialoogvenster Plakken speciaal.

Zie STGMEDIUM in de Windows SDK voor meer informatie.

COleServerItem::IsConnected

Roep deze functie aan om te zien of het OLE-item is verbonden.

BOOL IsConnected() const;

Retourwaarde

Niet-nul als het item is verbonden; anders 0.

Opmerkingen

Een OLE-item wordt als verbonden beschouwd als een of meer containers verwijzingen naar het item hebben. Een item is verbonden als het aantal verwijzingen groter is dan 0 of als het een ingesloten item is.

COleServerItem::IsLinkedItem

Roep deze functie aan om te zien of het OLE-item een gekoppeld item is.

BOOL IsLinkedItem() const;

Retourwaarde

Niet-nul als het item een gekoppeld item is; anders 0.

Opmerkingen

Een item is gekoppeld als het item geldig is en niet wordt geretourneerd in de lijst met ingesloten items van het document. Een gekoppeld item is al dan niet verbonden met een container.

Het is gebruikelijk om dezelfde klasse te gebruiken voor zowel gekoppelde als ingesloten items. IsLinkedItem hiermee kunt u ervoor zorgen dat gekoppelde items zich anders gedragen dan ingesloten items, hoewel vaak de code gebruikelijk is.

COleServerItem::m_sizeExtent

Dit lid vertelt de server hoeveel van het object zichtbaar is in het containerdocument.

CSize m_sizeExtent;

Opmerkingen

Met de standaard implementatie van OnSetExtent wordt dit lid ingesteld.

COleServerItem::NotifyChanged

Roep deze functie aan nadat het gekoppelde item is gewijzigd.

void NotifyChanged(DVASPECT nDrawAspect = DVASPECT_CONTENT);

Parameterwaarden

nDrawAspect
Een waarde uit de DVASPECT-inventarisatie die aangeeft welk aspect van het OLE-item is gewijzigd. Deze parameter kan een van de volgende waarden hebben:

  • DVASPECT_CONTENT item wordt weergegeven op een zodanige manier dat het kan worden weergegeven als een ingesloten object in de container.

  • DVASPECT_THUMBNAIL Item wordt weergegeven in een miniatuurweergave, zodat het kan worden weergegeven in een browserprogramma.

  • DVASPECT_ICON item wordt vertegenwoordigd door een pictogram.

  • DVASPECT_DOCPRINT item wordt weergegeven alsof het is afgedrukt met behulp van de opdracht Afdrukken in het menu Bestand.

Opmerkingen

Als een containeritem is gekoppeld aan het document met een automatische koppeling, wordt het item bijgewerkt met de wijzigingen. In containertoepassingen die zijn geschreven met behulp van de Microsoft Foundation Class Library, wordt COleClientItem::OnChange aangeroepen als antwoord.

COleServerItem::OnDoVerb

Aangeroepen door het framework om het opgegeven werkwoord uit te voeren.

virtual void OnDoVerb(LONG iVerb);

Parameterwaarden

iVerb
Hiermee geeft u het werkwoord dat moet worden uitgevoerd. Dit kan een van de volgende zijn:

Waarde Meaning Symbol
0 Primaire werkwoord OLEIVERB_PRIMARY
1 Secundair werkwoord Geen
- 1 Item weergeven voor bewerken OLEIVERB_SHOW
- 2 Item bewerken in een afzonderlijk venster OLEIVERB_OPEN
- 3 Item verbergen OLEIVERB_HIDE

De -1 waarde is doorgaans een alias voor een ander werkwoord. Als openen bewerken niet wordt ondersteund, heeft -2 hetzelfde effect als -1. Zie IOleObject::D oVerb in de Windows SDK voor meer waarden.

Opmerkingen

Als de containertoepassing is geschreven met de Microsoft Foundation Class Library, wordt deze functie aangeroepen wanneer de functie COleClientItem::Activate member van het bijbehorende COleClientItem object wordt aangeroepen. De standaardimplementatie roept de functie OnShow-lid aan als het primaire werkwoord of OLEIVERB_SHOW is opgegeven, OnOpen als het secundaire werkwoord of OLEIVERB_OPEN is opgegeven en OnHide als OLEIVERB_HIDE is opgegeven. De standaard implementatie roept OnShowaan als iVerb niet een van de hierboven genoemde werkwoorden is.

Overschrijf deze functie als het item niet wordt weergegeven in uw primaire werkwoord. Als het item bijvoorbeeld een geluidsopname is en het primaire werkwoord Afspelen is, hoeft u de servertoepassing niet weer te geven om het item af te spelen.

Zie IOleObject::D oVerb in de Windows SDK voor meer informatie.

COleServerItem::OnDraw

Aangeroepen door het framework om het OLE-item weer te geven in een metabestand.

virtual BOOL OnDraw(
    CDC* pDC,
    CSize& rSize) = 0;

Parameterwaarden

Pdc
Een aanwijzer naar het CDC-object waarop het item moet worden getekend. De weergavecontext wordt automatisch verbonden met de weergavecontext van het kenmerk, zodat u kenmerkfuncties kunt aanroepen, hoewel dit het metafile-apparaatspecifiek maakt.

rSize
Grootte, in HIMETRIC-eenheden, waarin het metabestand moet worden getekend.

Retourwaarde

Niet-nul als het item is getekend; anders 0.

Opmerkingen

De metabestandweergave van het OLE-item wordt gebruikt om het item in de containertoepassing weer te geven. Als de containertoepassing is geschreven met de Microsoft Foundation Class Library, wordt het metabestand gebruikt door de functie Draw member van het bijbehorende COleClientItem-object . Er is geen standaard implementatie. U moet deze functie overschrijven om het item te tekenen in de opgegeven apparaatcontext.

COleServerItem::OnDrawEx

Aangeroepen door het framework voor alle tekening.

virtual BOOL OnDrawEx(
    CDC* pDC,
    DVASPECT nDrawAspect,
    CSize& rSize);

Parameterwaarden

Pdc
Een aanwijzer naar het CDC-object waarop het item moet worden getekend. De domeincontroller wordt automatisch verbonden met de kenmerk-DC, zodat u kenmerkfuncties kunt aanroepen, hoewel dit het metafile-apparaatspecifiek maakt.

nDrawAspect
Een waarde uit de opsomming DVASPECT. Deze parameter kan een van de volgende waarden hebben:

  • DVASPECT_CONTENT item wordt weergegeven op een zodanige manier dat het kan worden weergegeven als een ingesloten object in de container.

  • DVASPECT_THUMBNAIL Item wordt weergegeven in een miniatuurweergave, zodat het kan worden weergegeven in een browserprogramma.

  • DVASPECT_ICON item wordt vertegenwoordigd door een pictogram.

  • DVASPECT_DOCPRINT item wordt weergegeven alsof het is afgedrukt met behulp van de opdracht Afdrukken in het menu Bestand.

rSize
Grootte van het item in HIMETRIC-eenheden.

Retourwaarde

Niet-nul als het item is getekend; anders 0.

Opmerkingen

De standaard-implementatie roept OnDraw aan wanneer DVASPECT gelijk is aan DVASPECT_CONTENT; anders mislukt deze.

Overschrijf deze functie om presentatiegegevens te bieden voor andere aspecten dan DVASPECT_CONTENT, zoals DVASPECT_ICON of DVASPECT_THUMBNAIL.

COleServerItem::OnGetClipboardData

Aangeroepen door het framework om een COleDataSource object op te halen dat alle gegevens bevat die op het Klembord worden geplaatst door een aanroep naar de lidfunctie CopyToClipboard .

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

Parameterwaarden

bIncludeLink
Stel deze optie in op TRUE als koppelingsgegevens naar het Klembord moeten worden gekopieerd. Stel deze optie in op FALSE als uw servertoepassing geen koppelingen ondersteunt.

lpOffset
De verschuiving van de muiscursor van de oorsprong van het object in pixels.

lpSize
De grootte van het object in pixels.

Retourwaarde

Een aanwijzer naar een COleDataSource-object met de Klembordgegevens.

Opmerkingen

De standaard implementatie van deze functie roept GetClipboardData aan.

COleServerItem::OnGetExtent

Aangeroepen door het framework om de grootte, in HIMETRIC-eenheden, van het OLE-item op te halen.

virtual BOOL OnGetExtent(
    DVASPECT nDrawAspect,
    CSize& rSize);

Parameterwaarden

nDrawAspect
Hiermee geeft u het aspect van het OLE-item waarvan de grenzen moeten worden opgehaald. Deze parameter kan een van de volgende waarden hebben:

  • DVASPECT_CONTENT item wordt weergegeven op een zodanige manier dat het kan worden weergegeven als een ingesloten object in de container.

  • DVASPECT_THUMBNAIL Item wordt weergegeven in een miniatuurweergave, zodat het kan worden weergegeven in een browserprogramma.

  • DVASPECT_ICON item wordt vertegenwoordigd door een pictogram.

  • DVASPECT_DOCPRINT item wordt weergegeven alsof het is afgedrukt met behulp van de opdracht Afdrukken in het menu Bestand.

rSize
Verwijzing naar een CSize object dat de grootte van het OLE-item ontvangt.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

Als de containertoepassing is geschreven met de Microsoft Foundation Class Library, wordt deze functie aangeroepen wanneer de GetExtent-lidfunctie van het bijbehorende COleClientItem object wordt aangeroepen. De standaard implementatie doet niets. U moet het zelf implementeren. Overschrijf deze functie als u speciale verwerking wilt uitvoeren bij het verwerken van een aanvraag voor de grootte van het OLE-item.

COleServerItem::OnHide

Aangeroepen door het framework om het OLE-item te verbergen.

virtual void OnHide();

Opmerkingen

De standaardoproepen COleServerDoc::OnShowDocument( FALSE ). Met de functie wordt ook de container aangegeven dat het OLE-item is verborgen. Overschrijf deze functie als u speciale verwerking wilt uitvoeren bij het verbergen van een OLE-item.

COleServerItem::OnInitFromData

Aangeroepen door het framework om een OLE-item te initialiseren met behulp van de inhoud van pDataObject.

virtual BOOL OnInitFromData(
    COleDataObject* pDataObject,
    BOOL bCreation);

Parameterwaarden

pDataObject
Wijs een OLE-gegevensobject aan met gegevens in verschillende indelingen voor het initialiseren van het OLE-item.

bCreation
WAAR als de functie wordt aangeroepen om een OLE-item te initialiseren dat nieuw wordt gemaakt door een containertoepassing. ONWAAR als de functie wordt aangeroepen om de inhoud van een al bestaand OLE-item te vervangen.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

Als bCreation TRUE is, wordt deze functie aangeroepen als een container Nieuw object invoegen implementeert op basis van de huidige selectie. De geselecteerde gegevens worden gebruikt bij het maken van het nieuwe OLE-item. Als u bijvoorbeeld een celbereik in een spreadsheetprogramma selecteert en vervolgens het nieuwe object invoegen gebruikt om een grafiek te maken op basis van de waarden in het geselecteerde bereik. De standaard implementatie doet niets. Overschrijf deze functie om een acceptabele indeling te kiezen van de indelingen die worden aangeboden door pDataObject en initialiseer het OLE-item op basis van de opgegeven gegevens. Dit is een geavanceerd overschrijfbaar.

Zie IOleObject::InitFromData in de Windows SDK voor meer informatie.

COleServerItem::OnOpen

Aangeroepen door het framework om het OLE-item weer te geven in een afzonderlijk exemplaar van de servertoepassing, in plaats van aanwezig.

virtual void OnOpen();

Opmerkingen

De standaard implementatie activeert het eerste framevenster met het document dat het OLE-item bevat. als de toepassing een miniserver is, wordt in de standaard implementatie het hoofdvenster weergegeven. Met de functie wordt ook de container aangegeven dat het OLE-item is geopend.

Overschrijf deze functie als u speciale verwerking wilt uitvoeren bij het openen van een OLE-item. Dit is vooral gebruikelijk bij gekoppelde items waar u de selectie wilt instellen op de koppeling wanneer deze wordt geopend.

Zie IOleClientSite::OnShowWindow in de Windows SDK voor meer informatie.

COleServerItem::OnQueryUpdateItems

Aangeroepen door het framework om te bepalen of gekoppelde items in het huidige serverdocument verouderd zijn.

virtual BOOL OnQueryUpdateItems();

Retourwaarde

Niet-nul als het document items bevat waarvoor updates nodig zijn; 0 als alle items up-to-date zijn.

Opmerkingen

Een item is verouderd als het brondocument is gewijzigd, maar het gekoppelde item niet is bijgewerkt om de wijzigingen in het document weer te geven.

COleServerItem::OnRenderData

Aangeroepen door het framework om gegevens op te halen in de opgegeven indeling.

virtual BOOL OnRenderData(
    LPFORMATETC lpFormatEtc,
    LPSTGMEDIUM lpStgMedium);

Parameterwaarden

lpFormatEtc
Verwijst naar de FORMATETC-structuur die de indeling aangeeft waarin informatie wordt aangevraagd.

lpStgMedium
Verwijst naar een STGMEDIUM-structuur waarin de gegevens moeten worden geretourneerd.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

De opgegeven indeling is een eerder in het COleDataSource object geplaatst met behulp van de functie DelayRenderData of DelayRenderFileData-lid voor vertraagde rendering. De standaard implementatie van deze functie roept respectievelijk OnRenderFileData of OnRenderGlobalData aan als het opgegeven opslagmedium een bestand of geheugen is. Als geen van deze indelingen wordt opgegeven, retourneert de standaard implementatie 0 en wordt niets uitgevoerd.

Als lpStgMedium-tymed> is TYMED_NULL, moet de STGMEDIUM worden toegewezen en ingevuld zoals opgegeven door lpFormatEtc-tymed>. Zo niet TYMED_NULL, moet het STGMEDIUM worden ingevuld met de gegevens.

Dit is een geavanceerd overschrijfbaar. Overschrijf deze functie om uw gegevens in de aangevraagde indeling en het medium op te geven. Afhankelijk van uw gegevens wilt u mogelijk een van de andere versies van deze functie overschrijven. Als uw gegevens klein en in grootte zijn, overschrijven OnRenderGlobalData. Als uw gegevens zich in een bestand of een variabele grootte hebben, overschrijven OnRenderFileData.

Zie IDataObject::GetData, STGMEDIUM, FORMATETC en TYMED in de Windows SDK voor meer informatie.

COleServerItem::OnRenderFileData

Aangeroepen door het framework om gegevens op te halen in de opgegeven indeling wanneer het opslagmedium een bestand is.

virtual BOOL OnRenderFileData(
    LPFORMATETC lpFormatEtc,
    CFile* pFile);

Parameterwaarden

lpFormatEtc
Verwijst naar de FORMATETC-structuur die de indeling aangeeft waarin informatie wordt aangevraagd.

pFile
Verwijst naar een CFile object waarin de gegevens moeten worden weergegeven.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

De opgegeven indeling is een eerder in het COleDataSource object geplaatst met behulp van de functie DelayRenderData-lid voor vertraagde rendering. De standaard implementatie van deze functie retourneert gewoon ONWAAR.

Dit is een geavanceerd overschrijfbaar. Overschrijf deze functie om uw gegevens in de aangevraagde indeling en het medium op te geven. Afhankelijk van uw gegevens wilt u mogelijk een van de andere versies van deze functie overschrijven. Als u meerdere opslagmedia wilt verwerken, moet u OnRenderData overschrijven. Als uw gegevens zich in een bestand of een variabele grootte hebben, overschrijft u OnRenderFileData.

Zie IDataObject::GetData en FORMATETC in de Windows SDK voor meer informatie.

COleServerItem::OnRenderGlobalData

Aangeroepen door het framework om gegevens op te halen in de opgegeven indeling wanneer het opgegeven opslagmedium wereldwijd geheugen is.

virtual BOOL OnRenderGlobalData(
    LPFORMATETC lpFormatEtc,
    HGLOBAL* phGlobal);

Parameterwaarden

lpFormatEtc
Verwijst naar de FORMATETC-structuur die de indeling aangeeft waarin informatie wordt aangevraagd.

phGlobal
Verwijst naar een ingang naar globaal geheugen waarin de gegevens moeten worden geretourneerd. Als er geen geheugen is toegewezen, kan deze parameter NULL zijn.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

De opgegeven indeling is een eerder in het COleDataSource object geplaatst met behulp van de functie DelayRenderData-lid voor vertraagde rendering. De standaard implementatie van deze functie retourneert gewoon ONWAAR.

Als phGlobal NULL is, moet een nieuwe HGLOBAL worden toegewezen en geretourneerd in phGlobal. Anders moet de HGLOBAL die is opgegeven door phGlobal , worden gevuld met de gegevens. De hoeveelheid gegevens die in de HGLOBAL worden geplaatst, mag niet groter zijn dan de huidige grootte van het geheugenblok. Het blok kan ook niet opnieuw worden toegewezen aan een grotere grootte.

Dit is een geavanceerd overschrijfbaar. Overschrijf deze functie om uw gegevens in de aangevraagde indeling en het medium op te geven. Afhankelijk van uw gegevens wilt u mogelijk een van de andere versies van deze functie overschrijven. Als u meerdere opslagmedia wilt verwerken, moet u OnRenderData overschrijven. Als uw gegevens zich in een bestand of een variabele grootte hebben, overschrijft u OnRenderFileData.

Zie IDataObject::GetData en FORMATETC in de Windows SDK voor meer informatie.

COleServerItem::OnSetColorScheme

Aangeroepen door het framework om een kleurenpalet op te geven dat moet worden gebruikt bij het bewerken van het OLE-item.

virtual BOOL OnSetColorScheme(const LOGPALETTE* lpLogPalette);

Parameterwaarden

lpLogPalette
Wijs een Windows LOGPALETTE-structuur aan.

Retourwaarde

Niet-nul als het kleurenpalet wordt gebruikt; anders 0.

Opmerkingen

Als de containertoepassing is geschreven met behulp van de Microsoft Foundation Class Library, wordt deze functie aangeroepen wanneer de functie IOleObject::SetColorScheme van het bijbehorende COleClientItem object wordt aangeroepen. De standaard implementatie retourneert FALSE. Overschrijf deze functie als u het aanbevolen palet wilt gebruiken. De servertoepassing is niet vereist om het voorgestelde palet te gebruiken.

Zie IOleObject::SetColorScheme in de Windows SDK voor meer informatie.

COleServerItem::OnSetData

Aangeroepen door het framework om de gegevens van het OLE-item te vervangen door de opgegeven gegevens.

virtual BOOL OnSetData(
    LPFORMATETC lpFormatEtc,
    LPSTGMEDIUM lpStgMedium,
    BOOL bRelease);

Parameterwaarden

lpFormatEtc
Wijs een FORMATETC-structuur aan die de indeling van de gegevens aangeeft.

lpStgMedium
Wijs een STGMEDIUM-structuur aan waarin de gegevens zich bevinden.

bRelease
Geeft aan wie eigenaar is van het opslagmedium nadat de functieaanroep is voltooid. De beller bepaalt wie verantwoordelijk is voor het vrijgeven van de resources die zijn toegewezen namens het opslagmedium. De beller doet dit door bRelease in te stellen. Als bRelease niet-nul is, wordt het serveritem eigenaar en wordt het medium vrijgemaakt wanneer het is voltooid. Wanneer bRelease 0 is, behoudt de aanroeper het eigendom en kan het serveritem het opslagmedium alleen gebruiken voor de duur van de aanroep.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

Het serveritem is pas eigenaar van de gegevens nadat het is verkregen. Dat wil gezegd, het neemt geen eigendom als het 0 retourneert. Als de gegevensbron eigenaar wordt, wordt het opslagmedium vrijgemaakt door de functie ReleaseStgMedium aan te roepen.

De standaard implementatie doet niets. Overschrijf deze functie om de gegevens van het OLE-item te vervangen door de opgegeven gegevens. Dit is een geavanceerd overschrijfbaar.

Zie STGMEDIUM, FORMATETC en ReleaseStgMedium in de Windows SDK voor meer informatie.

COleServerItem::OnSetExtent

Wordt aangeroepen door het framework om het OLE-item te vertellen hoeveel ruimte er beschikbaar is in het containerdocument.

virtual BOOL OnSetExtent(
    DVASPECT nDrawAspect,
    const CSize& size);

Parameterwaarden

nDrawAspect
Hiermee geeft u het aspect van het OLE-item waarvan de grenzen worden opgegeven. Deze parameter kan een van de volgende waarden hebben:

  • DVASPECT_CONTENT item wordt weergegeven op een zodanige manier dat het kan worden weergegeven als een ingesloten object in de container.

  • DVASPECT_THUMBNAIL Item wordt weergegeven in een miniatuurweergave, zodat het kan worden weergegeven in een browserprogramma.

  • DVASPECT_ICON item wordt vertegenwoordigd door een pictogram.

  • DVASPECT_DOCPRINT item wordt weergegeven alsof het is afgedrukt met behulp van de opdracht Afdrukken in het menu Bestand.

grootte
Een CSize-structuur die de nieuwe grootte van het OLE-item aangeeft.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

Als de containertoepassing is geschreven met de Microsoft Foundation Class Library, wordt deze functie aangeroepen wanneer de functie SetExtent-lid van het bijbehorende COleClientItem object wordt aangeroepen. De standaard implementatie stelt het m_sizeExtent lid in op de opgegeven grootte als nDrawAspect is DVASPECT_CONTENT; anders wordt 0 geretourneerd. Overschrijf deze functie om speciale verwerking uit te voeren wanneer u de grootte van het item wijzigt.

COleServerItem::OnShow

Aangeroepen door het framework om de servertoepassing te instrueren om het OLE-item ter plaatse weer te geven.

virtual void OnShow();

Opmerkingen

Deze functie wordt meestal aangeroepen wanneer de gebruiker van de containertoepassing een item maakt of een werkwoord uitvoert, zoals Bewerken, waarvoor het item moet worden weergegeven. De standaard implementatiepogingen in-place activering. Als dit mislukt, roept de functie de OnOpen lidfunctie aan om het OLE-item in een afzonderlijk venster weer te geven.

Overschrijf deze functie als u speciale verwerking wilt uitvoeren wanneer een OLE-item wordt weergegeven.

COleServerItem::OnUpdate

Aangeroepen door het framework wanneer een item is gewijzigd.

virtual void OnUpdate(
    COleServerItem* pSender,
    LPARAM lHint,
    CObject* pHint,
    DVASPECT nDrawAspect);

Parameterwaarden

pSender
Wijs het item aan dat het document heeft gewijzigd. Kan NULL zijn.

lHint
Bevat informatie over de wijziging.

pHint
Wijs een object aan dat informatie over de wijziging opslaat.

nDrawAspect
Een waarde uit de opsomming DVASPECT. Deze parameter kan een van de volgende waarden hebben:

  • DVASPECT_CONTENT item wordt weergegeven op een zodanige manier dat het kan worden weergegeven als een ingesloten object in de container.

  • DVASPECT_THUMBNAIL Item wordt weergegeven in een miniatuurweergave, zodat het kan worden weergegeven in een browserprogramma.

  • DVASPECT_ICON item wordt vertegenwoordigd door een pictogram.

  • DVASPECT_DOCPRINT item wordt weergegeven alsof het is afgedrukt met behulp van de opdracht Afdrukken in het menu Bestand.

Opmerkingen

De standaard implementatie roept NotifyChanged aan, ongeacht de hint of afzender.

COleServerItem::OnUpdateItems

Aangeroepen door het framework om alle items in het serverdocument bij te werken.

virtual void OnUpdateItems();

Opmerkingen

De standaard implementatie roept UpdateLink aan voor alle COleClientItem objecten in het document.

COleServerItem::SetItemName

Roep deze functie aan wanneer u een gekoppeld item maakt om de naam ervan in te stellen.

void SetItemName(LPCTSTR lpszItemName);

Parameterwaarden

lpszItemName
Wijs de nieuwe naam van het item aan.

Opmerkingen

De naam moet uniek zijn in het document. Wanneer een servertoepassing wordt aangeroepen om een gekoppeld item te bewerken, gebruikt de toepassing deze naam om het item te vinden. U hoeft deze functie niet aan te roepen voor ingesloten items.

Zie ook

MFC-voorbeeld HIERSVR
CDocItem-klasse
Hiërarchiegrafiek
COleClientItem-klasse
COleServerDoc-klasse
COleTemplateServer-klasse