Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
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.