Dela via


CDocObjectServer-klass

Implementerar de ytterligare OLE-gränssnitt som behövs för att göra en normal COleDocument server till en fullständig DocObject-server: IOleDocument, IOleDocumentView, IOleCommandTargetoch IPrint.

Syntax

class CDocObjectServer : public CCmdTarget

Medlemmar

Offentliga konstruktorer

Namn Beskrivning
CDocObjectServer::CDocObjectServer Konstruerar ett CDocObjectServer objekt.

Offentliga metoder

Namn Beskrivning
CDocObjectServer::ActivateDocObject Aktiverar dokumentobjektservern, men visar den inte.

Skyddade metoder

Namn Beskrivning
CDocObjectServer::OnActivateView Visar DocObject-vyn.
CDocobjectServer::OnApplyViewState Återställer tillståndet för DocObject-vyn.
CDocobjectServer::OnSaveViewState Sparar tillståndet för DocObject-vyn.

Anmärkningar

CDocObjectServer härleds från CCmdTarget och fungerar nära med COleServerDoc för att exponera gränssnitten.

Ett DocObject-serverdokument kan innehålla CDocObjectServerItem-objekt som representerar servergränssnittet för DocObject-objekt.

Om du vill anpassa DocObject-servern härleder du din egen klass från CDocObjectServer och åsidosätter dess vykonfigurationsfunktioner, OnActivateView, OnApplyViewState och OnSaveViewState. Du måste ange en ny instans av klassen som svar på ramverksanrop.

Mer information om DocObjects finns i CDocObjectServerItem och COleCmdUI i MFC-referensen.

Arvshierarki

CObject

CCmdTarget

CDocObjectServer

Kravspecifikation

Rubrik: afxdocob.h

CDocObjectServer::ActivateDocObject

Anropa den här funktionen för att aktivera (men inte visa) dokumentobjektservern.

void ActivateDocObject();

Anmärkningar

ActivateDocObject anropar IOleDocumentSitemetoden men ActivateMe visar inte vyn eftersom den väntar på specifika instruktioner om hur du konfigurerar och visar vyn, som anges i anropet till CDocObjectServer::OnActivateView.

Tillsammans och ActivateDocObjectOnActivateView aktivera och visa DocObject-vyn. DocObject-aktivering skiljer sig från andra typer av OLE-aktivering på plats. DocObject-aktivering kringgår visning av luckans kantlinjer på plats och objektsmyckningar (till exempel storlekshandtag), ignorerar objektutbredningsfunktioner och ritar rullningslister i vyns rektangel i stället för att rita dem utanför rektangeln (som vid normal aktivering på plats).

CDocObjectServer::CDocObjectServer

Konstruerar och initierar ett CDocObjectServer objekt.

explicit CDocObjectServer(
    COleServerDoc* pOwner,
    LPOLEDOCUMENTSITE pDocSite = NULL);

Parameterar

pOwner
En pekare till det klientwebbplatsdokument som är klienten för DocObject-servern.

pDocSite
En pekare till gränssnittet som IOleDocumentSite implementeras av containern.

Anmärkningar

När en DocObject är aktiv är klientplatsens OLE-gränssnitt (IOleDocumentSite) det som gör att DocObject-servern kan kommunicera med sin klient (containern). När en DocObject-server aktiveras kontrollerar den först att containern implementerar IOleDocumentSite gränssnittet. I så fall anropas COleServerDoc::GetDocObjectServer för att se om containern stöder DocObjects. Som standard GetDocObjectServer returnerar NULL. Du måste åsidosätta COleServerDoc::GetDocObjectServer för att skapa ett nytt CDocObjectServer objekt eller ett eget härlett objekt, med pekare till containern COleServerDoc och dess IOleDocumentSite gränssnitt som argument till konstruktorn.

CDocObjectServer::OnActivateView

Anropa den här funktionen för att visa DocObject-vyn.

virtual HRESULT OnActivateView();

Returvärde

Returnerar ett fel- eller varningsvärde. Som standard returnerar NOERROR om det lyckas. annars E_FAIL.

Anmärkningar

Den här funktionen skapar ett ramfönster på plats, ritar rullningslister i vyn, konfigurerar menyerna som serverresurserna har med sin container, lägger till ramkontroller, anger det aktiva objektet och visar slutligen ramfönstret på plats och anger fokus.

CDocobjectServer::OnApplyViewState

Åsidosätt den här funktionen för att återställa tillståndet för DocObject-vyn.

virtual void OnApplyViewState(CArchive& ar);

Parameterar

Ar
Ett CArchive objekt som visningstillståndet ska serialiseras från.

Anmärkningar

Den här funktionen anropas när vyn visas för första gången efter instansieringen. OnApplyViewState instruerar en vy att initiera sig själv igen enligt data i objektet som CArchive tidigare sparats med OnSaveViewState. Vyn måste verifiera data i CArchive objektet eftersom containern inte försöker tolka visningstillståndsdata på något sätt.

Du kan använda OnSaveViewState för att lagra beständig information som är specifik för vyns tillstånd. Om du åsidosätter OnSaveViewState för att lagra information vill du åsidosätta OnApplyViewState för att läsa informationen och tillämpa den på vyn när den nyligen har aktiverats.

CDocobjectServer::OnSaveViewState

Åsidosätt den här funktionen för att spara extra tillståndsinformation om DocObject-vyn.

virtual void OnSaveViewState(CArchive& ar);

Parameterar

Ar
Ett CArchive objekt som visningstillståndet serialiseras till.

Anmärkningar

Ditt tillstånd kan innehålla egenskaper som visningstyp, zoomfaktor, infognings- och markeringspunkt osv. Containern anropar vanligtvis den här funktionen innan vyn inaktiveras. Det sparade tillståndet kan senare återställas via OnApplyViewState.

Du kan använda OnSaveViewState för att lagra beständig information som är specifik för vyns tillstånd. Om du åsidosätter OnSaveViewState för att lagra information vill du åsidosätta OnApplyViewState för att läsa informationen och tillämpa den på vyn när den nyligen har aktiverats.

Se även

CCmdTarget-klass
hierarkidiagram
CDocObjectServerItem-klass